Foxtable(狐表)用户栏目专家坐堂 → 导入数据按钮代码求教?


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

主题:导入数据按钮代码求教?

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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2015/2/9 15:18:00 [只看该作者]

报什么错?

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2015/2/9 15:23:00 [只看该作者]

以下是引用lisheng7177在2015/2/9 15:16:00的发言:

谢谢甜版!问题现在代码报错是什么原因?

 

 

逻辑列导入时,因为数据的问题,要额外处理一下。


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


加好友 发短信
等级:二尾狐 帖子:531 积分:3216 威望:0 精华:0 注册:2014/12/2 9:23:00
  发帖心情 Post By:2015/2/9 15:23:00 [只看该作者]

呵呵,上面甜版已经回答了,是逻辑列要先处理一下,因为我是连发的提问,现在我正在组织代码,但总会有这错那错

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


加好友 发短信
等级:二尾狐 帖子:531 积分:3216 威望:0 精华:0 注册:2014/12/2 9:23:00
  发帖心情 Post By:2015/2/9 15:25: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("D:\鉴定表格\理论机考表.xls")
    Dim Sheet As XLS.Sheet = Book.Sheets(0)
    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 & "'")
        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
            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
                    dr(nms(m)) = Sheet(n,m).Value
                End If
            Next
        Next
    Next
End If
这几种要求的代码写在一起还真是难写,我实在是写不出,版主帮改改看错在哪?

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2015/2/9 15:27:00 [只看该作者]

Dim Book As New XLS.Book("D:\鉴定表格\理论机考表.xls")

 

改成

 

Dim Book As New XLS.Book(dlg.FileName)


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


加好友 发短信
等级:二尾狐 帖子:531 积分:3216 威望:0 精华:0 注册:2014/12/2 9:23:00
  发帖心情 Post By:2015/2/9 15:30:00 [只看该作者]

改了这句还是报错!

 


图片点击可在新窗口打开查看此主题相关图片如下:ecm78m_v4qb$73a9lyk.png
图片点击可在新窗口打开查看

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2015/2/9 15:34: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("理论机考表").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 & "'")
        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
                dr(nms(m)) = Sheet(n,m).Value
            End If
        Next
    Next
End If

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


加好友 发短信
等级:二尾狐 帖子:531 积分:3216 威望:0 精华:0 注册:2014/12/2 9:23:00
  发帖心情 Post By:2015/2/9 15:47:00 [只看该作者]

 


图片点击可在新窗口打开查看此主题相关图片如下:gm)w5@hepkoyesl(5~8kp.png
图片点击可在新窗口打开查看

 

版主,这准考证号码列又有什么错?

 

Dim dr As DataRow = DataTables("理论机考表").Find("身份证号码 = '" & sfzhm & "' And "准考证号码 = '" & zkzhm & "'")

这样改也不行!


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2015/2/9 15:49: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("理论机考表").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 & "'")
        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
                dr(nms(m)) = Sheet(n,m).Value
            End If
        Next
    Next
End If


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


加好友 发短信
等级:二尾狐 帖子:531 积分:3216 威望:0 精华:0 注册:2014/12/2 9:23:00
  发帖心情 Post By:2015/2/9 15:53:00 [只看该作者]

图片点击可在新窗口打开查看图片点击可在新窗口打开查看图片点击可在新窗口打开查看原来是这个原因!谢谢版主!


 回到顶部
总数 31 上一页 1 2 3 4 下一页