Foxtable(狐表)用户栏目专家坐堂 → 求助!导入EXCEL表数据全部为文本


  共有7227人关注过本帖树形打印复制链接

主题:求助!导入EXCEL表数据全部为文本

美女呀,离线,留言给我吧!
0799snow
  31楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:131 积分:834 威望:0 精华:0 注册:2019/3/19 8:23:00
导入后,存在重复的问题  发帖心情 Post By:2019/6/6 15:47:00 [只看该作者]

假如不记得已经导入过一次了,重新选择那个需要导入的表,会重复导入上面的全部数据,还有就是没有删除交易类型为“无”的信息

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  32楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/6/6 15:55:00 [只看该作者]

以下是引用0799snow在2019/6/6 15:47:00的发言:
假如不记得已经导入过一次了,重新选择那个需要导入的表,会重复导入上面的全部数据,还有就是没有删除交易类型为“无”的信息

 

实例和代码都没问题。请上传具体的出错的实例上来测试


 回到顶部
美女呀,离线,留言给我吧!
0799snow
  33楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:131 积分:834 威望:0 精华:0 注册:2019/3/19 8:23:00
求助!实例还是导入数据会出现重复时间内的交易数据  发帖心情 Post By:2019/6/16 13:36:00 [只看该作者]

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:03 交易明细.xls

本意是想导入的表格,假如重复导入了同一个时间内的交易信息,要不重复导入,但是我再次导入的时候,还是会重复,这样就是导入二次表格,同一个时间的交易会出现二次!
再有一个问题,我想做个累计销售的流水帐,见上传的销售表,每次都会输入累计销售的数量,我需要求出这个累计销售的数量比上次输入的累计销售数量多了多少,也就是期间销售数量。再有就是想实现输入开始时间到结束时间内,可统计这个期间销售的数量是多少
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:测试项目.table


 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:销售表.xlsx


[此贴子已经被作者于2019/6/16 13:38:24编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  34楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/6/17 10:22:00 [只看该作者]

Dim dlg As New OpenFileDialog
dlg.MultiSelect = True
If dlg.ShowDialog = DialogResult.OK Then
    OutPut.Show("你选择了" & dlg.FileNames.Length & "个文件, 分别是:")
    DataTables("明细表").ResumeRedraw
    DataTables("明细表").StopRedraw
    For Each fl As String In dlg.FileNames
        Dim Book As New XLS.Book(fl)
        '注意以下数组中列名称的顺序,必须和Excel表中的列顺序一致
        Dim nms() As String ={"卡号","持卡人","交易时间","交易类型","金额","商品", "数量","单价","奖励积分","余额","地点"}
        '注意下面的循环变量从1开始,而不是从0开始,因为Excel表的第一行是标题
        Dim Sheet As XLS.Sheet = Book.Sheets(0)
        For n As Integer = 4 To Sheet.Rows.Count -1
            Dim kh As String = sheet(n,0).text
            If kh <> "小计" AndAlso kh <> "总计" Then
                Dim sj As String = sheet(n,2).Text
                Dim d As Date = Nothing
                Date.TryParse(sj, d)
                Dim fdr As DataRow
                If d <> Nothing Then
                    fdr = DataTables("明细表").Find("交易时间 > #" & d.AddMinutes(-1) & "# and 交易时间 < #" & d.AddMinutes(1) & "#")
                End If
                If fdr Is Nothing Then '如果不存在同编号的订单
                    Dim r As Row = Tables("明细表").AddNew()
                    For m As Integer = 0 To nms.Length - 1
                        If r.Table.Cols(nms(m)).IsDate Then
                            Date.TryParse(Sheet(n,m).Value, d)
                            r(nms(m)) = d
                        ElseIf r.Table.Cols(nms(m)).IsNumeric Then
                            r(nms(m)) = val(Sheet(n,m).Value)
                        Else
                            r(nms(m)) = Sheet(n,m).Value
                        End If
                    Next
                End If
            End If
        Next
    Next
   
    DataTables("明细表").ResumeRedraw
End If

 回到顶部
美女呀,离线,留言给我吧!
0799snow
  35楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:131 积分:834 威望:0 精华:0 注册:2019/3/19 8:23:00
重复订单问题解决了,但重新发现小问题  发帖心情 Post By:2019/6/20 21:29:00 [只看该作者]

重复订单问题解决了,但重新发现小问题,
1、需要导入的表格的交易时间是精确到了秒,导入后将秒隐藏了,我将列属性日期格式改成DateLongTime,导入后原来的秒全部显示为00,然后为了不想删除只是相差秒数的交易时间,还需要做哪些修改呢(我直接将minute改为second 无效),
2、再有需导入的表里,交易时间为“无”和交易类型为“无”的也希望直接删除,不要导入,非常感谢!
3、还是之前问的那个销售数量(上个贴已上传表),做个流水账,怎么解决已输入每次累计数量,求这个期间数量计算的问题
[此贴子已经被作者于2019/6/20 21:35:57编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  36楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/6/20 21:44:00 [只看该作者]

1、改成 DateLongTime,重新导入,代码改成

 

fdr = DataTables("明细表").Find("交易时间 = #" & d & "#")

 

2、修改代码

 

                If d <> Nothing Then
                    fdr = DataTables("明细表").Find("交易时间 = #" & d & "#")

                Else

                    msgbox("不导入")

                    continue for
                End If

 

3、上传具体项目,说明你要做到什么效果。

 

 


 回到顶部
美女呀,离线,留言给我吧!
0799snow
  37楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:131 积分:834 威望:0 精华:0 注册:2019/3/19 8:23:00
请教这个怎么解决,谢谢  发帖心情 Post By:2019/6/23 15:20:00 [只看该作者]

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:测试项目.table

已经上传的这个项目,明细表内容为外部导入,目前已经解决;
下一步需要要在《卡销售情况表》里
1、统计在输入的起始日期和结束日期内的每个卡=“持卡人”的购买数量与金额、提取的金额、充值金额,当然还需分商品类型。
2、需要对交易时间进行分析,找出交易时间在节假日的交易情况:主要是购买数量与金额;节假日包括平时周六和周日,还包括假日办公布的调休如:
2019年
元旦12月30日~1月1日12月29日(周六)上班共3天
春节2月4日(除夕)~2月10日2月2日(周六)、2月3日(周日)上班共7天
清明节4月5日~4月7日与周末连休共3天
劳动节5月1日~5月4日4月28日(周日)、5月5日(周日)上班共4天
端午节6月7日~6月9日与周末连休共3天
中秋节9月13日~9月15日与周末连休共3天
国庆节10月1日~10月7日9月29日(周日)、10月12日(周六)上班共7天
3、交易时间间距太近的,比如1分钟以内购买多次,1小时内购买多次。1天内购买多次
4、由操作员输入〈累计行程表〉。在《期间行程计算表》中起始日期至结束日期内可计算“期间行程数量”可在累计行程表一个表解决更好

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  38楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/6/23 16:55:00 [只看该作者]

1、参考

 

http://www.foxtable.com/webhelp/topics/0158.htm

 

http://www.foxtable.com/webhelp/topics/2394.htm

 

2、做一个节假日表,查找判断日期是否在日期表里

 

3、排序计算后,垂直计算两行之间的间隔

 

4、不理解你的意思,跨表统计参考 http://www.foxtable.com/webhelp/topics/1454.htm

 


 回到顶部
美女呀,离线,留言给我吧!
0799snow
  39楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:131 积分:834 威望:0 精华:0 注册:2019/3/19 8:23:00
我增加了日期表  发帖心情 Post By:2019/6/24 12:03:00 [只看该作者]

我在项目里增加了日期表,是用EXCEL表挑出来的,我思路是想先挑出周六和周日的日期来,然后,再对有发布调休通知再进行调整,但是我不知道怎么实现查找是否发生在这个时间内:
1、怎么把全年的周六周日显示出来,命令
2、怎么查找发生在另一个节假日表里的时间
3、怎么实现排序计算后,垂直计算两行之间的间隔
4、我当时想套用流水账,直接可得出期间发生数,但是代码出错,实际上不想通过跨表计算实现,就和流水账那样知道累计发生数,求期间发生数
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:测试项目.table
项目稍有修改,增加了日期表,求帮助!
[此贴子已经被作者于2019/6/24 15:03:28编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  40楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/6/24 12:20:00 [只看该作者]

以下是引用0799snow在2019/6/24 12:03:00的发言:
我在项目里增加了日期表,是用EXCEL表挑出来的,我思路是想先挑出周六和周日的日期来,然后,再对有发布调休通知再进行调整

 

判断是星期几,参考

 

http://www.foxtable.com/webhelp/topics/0229.htm

 


 回到顶部
总数 91 上一页 1 2 3 4 5 6 7 8 9 10 下一页