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


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

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

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


加好友 发短信
等级:幼狐 帖子:131 积分:834 威望:0 精华:0 注册:2019/3/19 8:23:00
求助!导入EXCEL表数据全部为文本  发帖心情 Post By:2019/5/29 17:50:00 [显示全部帖子]

这个是你刚才给我的代码,导入数据成功了,但是为文本格式,我需要对这个是"交易时间","金额","数量"定义为时间格式、和双精度小数格式。
此主题相关图片如下:qq图片20190529174315.png
按此在新窗口浏览图片我在窗口设计里点执行按钮后,绑定的明细表就为空了,但是我已经定义为“ture”了,以上二个问题,请您解答,谢谢!!
Dim dlg As New OpenFileDialog
dlg.MultiSelect = True
If dlg.ShowDialog = DialogResult.OK Then
    OutPut.Show("你选择了" & dlg.FileNames.Length & "个文件, 分别是:")
    For Each fl As String In dlg.FileNames
        Dim Book As New XLS.Book(fl)
Dim Sheet As XLS.Sheet = Book.Sheets(0)
    Next
End If
Tables("明细表").StopRedraw()
'注意以下数组中列名称的顺序,必须和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 sj As String = sheet(n,2).Text 
Next
    If DataTables("明细表").Find("交易时间 = '" & sj & "'") Is Nothing Then '如果不存在同编号的订单
        Dim r As Row = Tables("明细表").AddNew()
        For m As Integer = 0 To nms.Length - 1
            r(nms(m)) = Sheet(n,m).Value
    Next 


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


加好友 发短信
等级:幼狐 帖子:131 积分:834 威望:0 精华:0 注册:2019/3/19 8:23:00
求助,导入后绑定的表为空  发帖心情 Post By:2019/5/30 9:02:00 [显示全部帖子]

导入后绑定的表为空,导入的EXCEL表内为文本,对时间列和金额列不能转换成日期和双精度小数列
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:测试项目.table


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


加好友 发短信
等级:幼狐 帖子:131 积分:834 威望:0 精华:0 注册:2019/3/19 8:23:00
求助,删除那行代码后,就只能导入一个表的数据了  发帖心情 Post By:2019/5/30 9:30:00 [显示全部帖子]

删除那行代码后,就只能导入一个表的数据了,我可选多个表导入,但是只有第一个表的数据,后面我再选第二个表可以导入,之前是文本格式的对这个时间列重复的可以自动不导入,现在定义为日期列了就不能识别了,我需要对[卡号]和[交易时间]同时相同的行不重复导入,需要怎么修改 If DataTables("明细表").Find("交易时间 = '" & sj & "'") Is Nothing Then '如果不存在同编号的订单


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


加好友 发短信
等级:幼狐 帖子:131 积分:834 威望:0 精华:0 注册:2019/3/19 8:23:00
求助,还是出错  发帖心情 Post By:2019/5/30 9:59:00 [显示全部帖子]

提示错误:该字符串未被识别为有效的 DateTime。
然后还是只能导入小部分数据

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


加好友 发短信
等级:幼狐 帖子:131 积分:834 威望:0 精华:0 注册:2019/3/19 8:23:00
用这个代码后,明细表又为空了  发帖心情 Post By:2019/5/30 10:00:00 [显示全部帖子]

用这个代码后,明细表又为空了

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


加好友 发短信
等级:幼狐 帖子:131 积分:834 威望:0 精华:0 注册:2019/3/19 8:23:00
还是不行啊  发帖心情 Post By:2019/5/30 11:19:00 [显示全部帖子]

需要导入的excel表格里定义为日期列数据,日期型的数据,报错了,从字符串“1880”到类型“Date”的转换无效。然后就也只导入一小部分数据就中止了

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


加好友 发短信
等级:幼狐 帖子:131 积分:834 威望:0 精华:0 注册:2019/3/19 8:23:00
我把我需要导入的表也发给你看看,测试的表  发帖心情 Post By:2019/5/30 11:25:00 [显示全部帖子]

导入的表格式不符合列属性的,需要处理好导入,又怕重复导入,目前判断的条件是[卡号]和交易时间二列数据同时相同的话,就是重复的行数据

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


加好友 发短信
等级:幼狐 帖子:131 积分:834 威望:0 精华:0 注册:2019/3/19 8:23:00
项目和文档打包给您,麻烦了,谢谢  发帖心情 Post By:2019/5/30 15:31:00 [显示全部帖子]

项目和文档打包给您,麻烦了,谢谢.这次测试是只导入一个文件,DATA出错
[此贴子已经被作者于2019/5/30 16:04:18编辑过]

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


加好友 发短信
等级:幼狐 帖子:131 积分:834 威望:0 精华:0 注册:2019/3/19 8:23:00
附件不能是压缩文件吗  发帖心情 Post By:2019/5/30 16:01:00 [显示全部帖子]

附件不能是压缩文件吗?

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


加好友 发短信
等级:幼狐 帖子:131 积分:834 威望:0 精华:0 注册:2019/3/19 8:23:00
再次分文件上传  发帖心情 Post By:2019/5/30 16:02:00 [显示全部帖子]

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

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


 回到顶部
总数 53 1 2 3 4 5 6 下一页