Foxtable(狐表)用户栏目专家坐堂 → 数据导入的速度求帮助!


  共有2734人关注过本帖平板打印复制链接

主题:数据导入的速度求帮助!

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


加好友 发短信
等级:二尾狐 帖子:531 积分:3216 威望:0 精华:0 注册:2014/12/2 9:23:00
数据导入的速度求帮助!  发帖心情 Post By:2015/8/3 13:05:00 [只看该作者]

Dim dlg As New OpenFileDialog
dlg.Filter = "Excel文件|*.xls"
dlg.MultiSelect = True '允许选择多个文件
If dlg.ShowDialog =DialogResult.OK Then
    Dim Book As New XLS.Book(dlg.FileName)
    Dim Sheet As XLS.Sheet = Book.Sheets(0)
    Tables("理论考试表").ResumeRedraw()
    Tables("理论考试表").StopRedraw()
    Dim nms() As String = {"工作单位","县公司","姓名","性别","身份证号码","文化程度","鉴定等级","申报鉴定工种","鉴定批次","申报性质","是否合格","理论考否","考试性质","年月","场次","考场","座位号","考试时间","考试地点","理论准考证号码","理论成绩","备注","照片"}
    For n As Integer = 1 To Sheet.Rows.Count -1
        Dim sfzhm As String = sheet(n,4).Text
        Dim jdpc As String = sheet(n,8).Text
        Dim dr As DataRow = DataTables("理论考试表").Find("身份证号码 = '" & sfzhm & "' And 鉴定批次 = '" & jdpc & "'")
        If dr Is Nothing Then '如果不存在同编号的订单
            dr =  DataTables("理论考试表").AddNew()
        End If
        For m As Integer = 0 To nms.Length - 1
            If DataTables("理论考试表").DataCols(nms(m)).IsBoolean Then
                If Sheet(n,m).Value = 0 Then
                    dr(nms(m)) = False
                Else
                    dr(nms(m)) = True
                End If
            Else If DataTables("理论考试表").DataCols(nms(m)).Expression > "" Then
                '表达式列
            Else If DataTables("理论考试表").DataCols(nms(m)).IsNumeric Then
                dr(nms(m)) = val(Sheet(n,m).Value)
            Else
                dr(nms(m)) = Sheet(n,m).Value
            End If
        Next
    Next
    Tables("理论考试表").ResumeRedraw()

End If

 

图片点击可在新窗口打开查看图片点击可在新窗口打开查看这段“导入“”按钮代码怀入数据的速度很慢,我按版主的代码依葫芦画瓢修改,想提高速度,可总是不得其法,实在是搞不定,请版主受累给改下,谢谢先!另外,可否加入一句代码,在导入的时候可以有一个类似“确定导入”的提示?


 回到顶部
总数 11 1 2 下一页