以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 导入数据速度问题求教? (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=63510) |
-- 作者:lisheng7177 -- 发布时间:2015/1/22 15:04:00 -- 导入数据速度问题求教? 版主:昨天往一表中测试导入数据,总共不到2万行,导了有几分钟,一开始象没反应一样,搞得我还以为死机了;另外同样的数据量。删除也要很长时间,这是正常的吗?
Dim dlg As New OpenFileDialog |
-- 作者:有点甜 -- 发布时间:2015/1/22 15:06:00 -- 试试
SystemReady = False
Dim dlg As New OpenFileDialog
SystemReady = True |
-- 作者:Bin -- 发布时间:2015/1/22 15:07:00 -- 编码合并才能判断重复http://www.foxtable.com/help/topics/2334.htm 数据量大,肯定就慢,没啥好办法.
|
-- 作者:lisheng7177 -- 发布时间:2015/1/22 15:12:00 -- 谢谢版主指教!我去试试。 |
-- 作者:lisheng7177 -- 发布时间:2015/1/22 15:33:00 -- 甜版,代码效果还是跟原来一样。 BIN版,如按照帮助里的代码写,我得把导入的数据固定放在一个文件夹里,不方便,另外,要想判断不重复,好象只能以身份证号码作为判断条件; 假设某员工从高级工考技师,原来他考高级工的报名数据就在里面,而我现在要导入的是其报考技师的数据,这2行数据应该是可以并存在表里的(做为历史查询用),但我要修改了其报技师的数据,再将其导入,要想不重复,那么其原来报高级工的数据是不是也会被改变,这是我不想得到的结果。
|
-- 作者:Bin -- 发布时间:2015/1/22 15:35:00 -- 不用写着固定文件夹里啊.有这个 http://www.foxtable.com/help/topics/0328.htm |
-- 作者:有点甜 -- 发布时间:2015/1/22 15:39:00 -- 看3楼、6楼,同时,判断条件,可以是多列判断的啊。 |
-- 作者:lisheng7177 -- 发布时间:2015/1/22 15:43:00 -- ![]() |
-- 作者:lisheng7177 -- 发布时间:2015/1/22 21:15:00 -- Dim dlg As New OpenFileDialog dlg.Filter = "Excel文件|*.xls" dlg.MultiSelect = True \'允许选择多个文件 Tables("证书编号表").StopRedraw() Dim nms() As String = {"工作单位","县公司","姓名","性别","身份证号码","文化程度","鉴定等级","申报鉴定工种","鉴定批次","申报性质","理论成绩","潜能成绩","实操成绩","工作业绩","总评成绩","评审结果","证书编号","备注"} For n As Integer = 1 To Sheet.Rows.Count -1 Dim sfzhm As String = sheet(n,0).Text Dim dr As DataRow = DataTables("证书编号表").Find("身份证号码 = \'" & sfzhm & "\'" And "鉴定等级= \'" & jddj & "\'" And "鉴定批次= \'" & jdpc & "\'") If dr Is Nothing Then \'如果不存在同编号的订单 dr = DataTables("证书编号表").AddNew() End If For m As Integer = 0 To nms.Length - 1 dr(nms(m)) = Sheet(n,m).Value Next Next Tables("证书编号表").ResumeRedraw() 这段代码到底错在哪?求指教。 |
-- 作者:有点甜 -- 发布时间:2015/1/22 21:23:00 -- Dim dlg As New OpenFileDialog dlg.Filter = "Excel文件|*.xls" dlg.MultiSelect = True \'允许选择多个文件 Tables("证书编号表").StopRedraw() Dim nms() As String = {"工作单位","县公司","姓名","性别","身份证号码","文化程度","鉴定等级","申报鉴定工种","鉴定批次","申报性质","理论成绩","潜能成绩","实操成绩","工作业绩","总评成绩","评审结果","证书编号","备注"} If dlg.ShowDialog =DialogResult.OK Then For Each fl As String In dlg.FileNames Dim Book As New XLS.Book(fl) Dim sheet As XLS.Sheet = book.Sheets(0) For n As Integer = 1 To Sheet.Rows.Count -1 Dim sfzhm As String = sheet(n,4).Text Dim jddj As String = sheet(n,6).Text Dim jdpc As String = sheet(n,8).Text Dim dr As DataRow = DataTables("证书编号表").Find("身份证号码 = \'" & sfzhm & "\' And 鉴定等级= \'" & jddj & "\' And 鉴定批次= \'" & jdpc & "\'") If dr Is Nothing Then \'如果不存在同编号的订单 dr = DataTables("证书编号表").AddNew() End If For m As Integer = 0 To nms.Length - 1 dr(nms(m)) = Sheet(n,m).Value Next Next Next End If Tables("证书编号表").ResumeRedraw() |