Foxtable(狐表)用户栏目专家坐堂 → [求助]excel导入大量数据(6000行以上,字段十几个)


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

主题:[求助]excel导入大量数据(6000行以上,字段十几个)

帅哥哟,离线,有人找我吗?
徐欧
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:10 积分:143 威望:0 精华:0 注册:2024/8/5 9:49:00
[求助]excel导入大量数据(6000行以上,字段十几个)  发帖心情 Post By:2024/8/5 18:05:00 [只看该作者]

怎么能导入大量的excel文件数据,使用那种一行一行读取的太慢了
'            Dim mg As New Merger
'            '订单明细的数据很多,采用合并的方式导入,采用上面的读取,数据量多会出现问题
'            mg.SourcePath = dlg.FileName
'            mg.Format = "excel" '指定格式
'            mg.SourceTableName = "订单明细$" '指定要合并的表
'            mg.DataTableName = tbname3 '指定接收数据的表
'            For i As Integer = 0 To cols3.Count - 1
'                mg.FieldMaps.Add(cols3(i), site3(i)) '这是一个集合,要合并的表和接收数据的表的字段名称存在不一致的情况下,可以用此集合指定两个表之间字段的对应关系。左边表格,右边列
'                Output.Show(cols3(i) & "" & site3(i))
'            Next
'            mg.Merge() '开始合并
使用merger有限定excel文件必须为.xls结尾,而且还有一个问题,总是会莫名其妙的的报单元格数据类型格式有误,但是那个单元格明明是空的,没有数据。
复制数据粘贴到一个新的文件里面,导入成功了,但是这种处理方式有的时候也还是没有用。
求助,求助,有没有别的方式能快速导入大量数据!!!

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


加好友 发短信
等级:六尾狐 帖子:1249 积分:9474 威望:0 精华:0 注册:2013/5/12 9:22:00
  发帖心情 Post By:2024/8/5 18:57:00 [只看该作者]

Merger用于合并数据。
合并的速度要远低于导入,所以如果有大量数据要引入管理项目中,最好用导入


http://www.foxtable.com/webhelp/topics/0684.htm
[此贴子已经被作者于2024/8/5 18:58:02编辑过]

 回到顶部
帅哥,在线噢!
有点蓝
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110554 积分:562660 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2024/8/5 21:52:00 [只看该作者]

1、帮助没看仔细,merger可以导入.xlsx

合并Excel2007文件:

Dim mg As New Merger

mg.SourcePath = "c:\data\销售管理.xlsx"

mg.Format = "excel2007" '指定格式

mg.SourceTableName = "订单" '指定要合并的表

mg.DataTableName = "订单" '指定接收数据的表

mg.Merge() '开始合并


Format
指定合并格式,包括Access、Access2007、Excel、Excel2007、dBASE、Delimited、Fixed等格式
其中Delimited为符号分割的文本文件,Fixed为固定列宽的文本文件。
默认为Access。


2、单元格肯定是有数据的,比如空格,回车符等看不见的数值,或者公式、引用等等。这种如果对应目的表的列类型为数值型就会出错


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


加好友 发短信
等级:婴狐 帖子:10 积分:143 威望:0 精华:0 注册:2024/8/5 9:49:00
  发帖心情 Post By:2024/8/6 9:57:00 [只看该作者]

看了好像不可以,因为我的excel里面的列名和狐表里面的列名不一致,然后我看merge可以用FieldMaps指定对应关系

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


加好友 发短信
等级:婴狐 帖子:10 积分:143 威望:0 精华:0 注册:2024/8/5 9:49:00
  发帖心情 Post By:2024/8/6 9:58:00 [只看该作者]

图片点击可在新窗口打开查看
指定excel2007的时候会出现这种错误

 回到顶部
帅哥,在线噢!
有点蓝
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110554 积分:562660 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2024/8/6 10:07:00 [只看该作者]

下载安装下面的数据访问组件:
http://www.foxtable.com/download/AccessDatabaseEngine.exe

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


加好友 发短信
等级:幼狐 帖子:130 积分:1004 威望:0 精华:0 注册:2019/3/10 1:12:00
  发帖心情 Post By:2024/8/7 14:25:00 [只看该作者]

加一个StopRedraw禁止屏幕刷新。

 回到顶部
帅哥哟,离线,有人找我吗?
程兴刚
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:超级版主 帖子:7258 积分:40773 威望:0 精华:16 注册:2008/8/31 23:23:00
  发帖心情 Post By:2024/8/7 14:39:00 [只看该作者]

暂停执行事件也是一个关键的要素!

 回到顶部