以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]想问下如何能做到高速导入数据到狐表内?  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=140309)

--  作者:zto001
--  发布时间:2019/9/3 10:40:00
--  [求助]想问下如何能做到高速导入数据到狐表内?
[求助]想问下如何能做到高速导入数据到狐表内?

Importer

Importer用于导入数据。

这个代码导入数据太慢了。导入不到一万行就导了半天,想问下有没有更加快速的方法导入数据?

有个几十万条数据。倒进之后需要求值。需要快


--  作者:有点蓝
--  发布时间:2019/9/3 11:09:00
--  
没有办法快。可以考虑先导入临时表,再后续处理:http://www.foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=100317&replyID=&skin=1
--  作者:zto001
--  发布时间:2019/9/3 12:31:00
--  
嗯,搞了半天不懂,有没有简单点的
--  作者:有点蓝
--  发布时间:2019/9/3 13:49:00
--  
把数据拆分为几万行一个文件,全部导进来再通过代码进行后续处理
--  作者:zto001
--  发布时间:2019/9/3 15:16:00
--  
我比较笨。还是没懂他的代码

导入foxtable
Dim ccbCols As WinForm.CheckedComboBox = e.Form.Controls("ccbCols")
If ccbCols.Text > "" Then
    Functions.Execute("ImportFromExecl",0,e.Form.Controls("ncbIndex").Value,e.Form.Controls("ncbLength").Value,ccbCols.Text.Split(","),False)
Else
    Functions.Execute("ImportFromExecl",0,e.Form.Controls("ncbIndex").Value,e.Form.Controls("ncbLength").Value,Nothing)
End If

他是怎么自动生成临时表格【订单】的?ImportFromExecl里面也没有生成临时表的代码
还有e.Form.Controls("ncbIndex").Value,e.Form.Controls("ncbLength")这两个导入的行数,我想全部导入,怎么写才能得到行数?

--  作者:有点蓝
--  发布时间:2019/9/3 15:25:00
--  
临时表是调用的组件根据execl表格自动生成的,不用管。

3、从Excel获取数据返回,DOM方式

语法:
ToDataTable(SheetName, Columns, StartIndex, Length) as DataTable


 SheetName 可选参数,字符型,导入的Sheet名称。不填默认取第一个Sheet
 Columns 可选参数,列名称字符型数组。可以指定Sheet中需要导入数据的标题名称。默认第一行为标题行
 StartIndex 可选参数,从此行索引开始取数据,行索引从0开始,对应DataTable的第一行,文档的第二行,文档第三行为1,以此类推。不填默认为0
 Length 可选参数,从指定行索引开始提取此参数指定的行数的数据,填0或者不填默认从指定行索引开始取所有行


如果没有数据,则返回nothing,否则返回一个新的System.Data.DataTable对象


e.Form.Controls("ncbIndex").Value 对应 StartIndex

e.Form.Controls("ncbLength").Value 对应 Length