以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- [求助]excel导入大量数据(6000行以上,字段十几个) (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=192962) |
-- 作者:徐欧 -- 发布时间:2024/8/5 18:05:00 -- [求助]excel导入大量数据(6000行以上,字段十几个) 怎么能导入大量的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 -- 发布时间:2024/8/5 18:57:00 -- Merger用于合并数据。 合并的速度要远低于导入,所以如果有大量数据要引入管理项目中,最好用导入。 [此贴子已经被作者于2024/8/5 18:58:02编辑过]
|
-- 作者:有点蓝 -- 发布时间: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、单元格肯定是有数据的,比如空格,回车符等看不见的数值,或者公式、引用等等。这种如果对应目的表的列类型为数值型就会出错 |
-- 作者:徐欧 -- 发布时间:2024/8/6 9:57:00 -- 看了好像不可以,因为我的excel里面的列名和狐表里面的列名不一致,然后我看merge可以用FieldMaps指定对应关系 |
-- 作者:徐欧 -- 发布时间:2024/8/6 9:58:00 -- 指定excel2007的时候会出现这种错误 |
-- 作者:有点蓝 -- 发布时间:2024/8/6 10:07:00 -- 下载安装下面的数据访问组件: http://www.foxtable.com/download/AccessDatabaseEngine.exe
|
-- 作者:bioafanda -- 发布时间:2024/8/7 14:25:00 -- 加一个StopRedraw禁止屏幕刷新。 |
-- 作者:程兴刚 -- 发布时间:2024/8/7 14:39:00 -- 暂停执行事件也是一个关键的要素! |