Foxtable(狐表)用户栏目专家坐堂 → 导入数据速度问题求教?


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

主题:导入数据速度问题求教?

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


加好友 发短信
等级:二尾狐 帖子:531 积分:3216 威望:0 精华:0 注册:2014/12/2 9:23:00
导入数据速度问题求教?  发帖心情 Post By:2015/1/22 15:04:00 [显示全部帖子]

图片点击可在新窗口打开查看图片点击可在新窗口打开查看图片点击可在新窗口打开查看

版主:昨天往一表中测试导入数据,总共不到2万行,导了有几分钟,一开始象没反应一样,搞得我还以为死机了;另外同样的数据量。删除也要很长时间,这是正常的吗?

 

Dim dlg As New OpenFileDialog
dlg.Filter = "Excel文件|*.xls"
dlg.MultiSelect = True '允许选择多个文件
If dlg.ShowDialog =DialogResult.OK Then
    For Each fl As String In dlg.FileNames
        Dim Book As New XLS.Book(fl)
        Dim mg As New Merger
        mg.SourcePath = fl
        mg.Format = "Excel"
        mg.SourceTableName = Book.Sheets(0).Name & "$"
        Select e.Form.Controls("TabControl1").SelectedPage.Text
            Case "报名登记表"
                mg.DataTableName = "报名登记表"
                mg.Merge()
            Case "审核合格表"
                mg.DataTableName = "审核合格表"
                mg.Merge()
               
        End Select
    Next
End If
上述导入按钮的CLICK事件代码,同样的数据点击几次就导入几次,如果我想做到只导入修改了的行的数据,没改的不重复导入,这代码该怎么写?如果导入时能有提示的那种更好,请版主指教!


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


加好友 发短信
等级:二尾狐 帖子:531 积分:3216 威望:0 精华:0 注册:2014/12/2 9:23:00
  发帖心情 Post By:2015/1/22 15:12:00 [显示全部帖子]

谢谢版主指教!我去试试。


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


加好友 发短信
等级:二尾狐 帖子:531 积分:3216 威望:0 精华:0 注册:2014/12/2 9:23:00
  发帖心情 Post By:2015/1/22 15:33:00 [显示全部帖子]

甜版,代码效果还是跟原来一样。

BIN版,如按照帮助里的代码写,我得把导入的数据固定放在一个文件夹里,不方便,另外,要想判断不重复,好象只能以身份证号码作为判断条件;

      假设某员工从高级工考技师,原来他考高级工的报名数据就在里面,而我现在要导入的是其报考技师的数据,这2行数据应该是可以并存在表里的(做为历史查询用),但我要修改了其报技师的数据,再将其导入,要想不重复,那么其原来报高级工的数据是不是也会被改变,这是我不想得到的结果。

 


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


加好友 发短信
等级:二尾狐 帖子:531 积分:3216 威望:0 精华:0 注册:2014/12/2 9:23:00
  发帖心情 Post By:2015/1/22 15:43:00 [显示全部帖子]

图片点击可在新窗口打开查看明白了,我去修改一下。

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


加好友 发短信
等级:二尾狐 帖子:531 积分:3216 威望:0 精华:0 注册:2014/12/2 9:23:00
  发帖心情 Post By: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()
这段代码到底错在哪?求指教。

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


加好友 发短信
等级:二尾狐 帖子:531 积分:3216 威望:0 精华:0 注册:2014/12/2 9:23:00
  发帖心情 Post By:2015/1/22 21:26:00 [显示全部帖子]

图片点击可在新窗口打开查看图片点击可在新窗口打开查看图片点击可在新窗口打开查看我居然少写了这么多行代码!

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


加好友 发短信
等级:二尾狐 帖子:531 积分:3216 威望:0 精华:0 注册:2014/12/2 9:23:00
  发帖心情 Post By:2015/1/22 21:38:00 [显示全部帖子]

.NET Framework 版本:2.0.50727.5485
Foxtable 版本:2014.11.11.1
错误所在事件:窗口,证书报表,导入,Click
详细错误信息:
从字符串“”到类型“Single”的转换无效。
输入字符串的格式不正确。

刚才在重复导入测试时报错,第1次导入没问题,但第2次就出错了,这是不是我的EXCEL表的格式上的问题?


 回到顶部