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


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

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

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2015/2/9 14:55:00 [显示全部帖子]

以下是引用lisheng7177在2015/2/9 14:50:00的发言:
图片点击可在新窗口打开查看图片点击可在新窗口打开查看图片点击可在新窗口打开查看那要怎么改才不变就不动、变则覆盖、没有则增加?

 

换一种合并数据方式。

 

http://www.foxtable.com/help/topics/2334.htm

 


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2015/2/9 15:12:00 [显示全部帖子]

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

我想导入的Excel表不可以放在任何盘里吗?一定得指定放在比如D:\鉴定表格\理论机考表.xls?

 

肯定可以,参考这段

 

Dim dlg As New OpenFileDialog
dlg.Filter = "Excel文件|*.xls"
dlg.MultiSelect = True '允许选择多个文件
If dlg.ShowDialog =DialogResult.OK Then

 

End If

 


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


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

 逻辑列要特别处理一下

 

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


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | 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的发言:

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

 

 

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


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | 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)


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | 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

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | 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


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2015/2/9 16:02: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,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
    Tables("理论机考表").ResumeRedraw()
End If

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2015/2/9 16:08:00 [显示全部帖子]

 不可能是增加,若是增加,看身份证号码那里是不是有些问题

 

 看23楼

[此贴子已经被作者于2015/2/9 16:08:14编辑过]

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2015/2/9 16:17:00 [显示全部帖子]

这样试试

 

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

 


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