Foxtable(狐表)用户栏目专家坐堂 → [求助]合并excel数据


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

主题:[求助]合并excel数据

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


加好友 发短信
等级:一尾狐 帖子:463 积分:4163 威望:0 精华:0 注册:2011/4/5 16:54:00
[求助]合并excel数据  发帖心情 Post By:2022/3/1 18:05:00 [显示全部帖子]

求教,如何实现在合并过程中查找是否存在"证件号码"和"管号"相同的行,存在跳过,不存在则增加?下面代码如何修改?

Dim dlg As new OpenFileDialog
dlg.Filter = "excel文件|*.xls;*.xlsx"
dlg.MultiSelect = True
If dlg.ShowDialog = DialogResult.OK Then
    For Each f As String In dlg.FileNames
        Dim  Book As New XLS.Book(f)
        Dim Sheet As XLS.Sheet = Book.Sheets(0)
        Tables("jcjgsbsj").StopRedraw()
        Dim nms() As String = {"姓名","证件号码","核酸检测结果","核酸检测时间","核酸检测机构","管号","行政区名称"}
        For n As Integer = 1 To Sheet.Rows.Count -1
            Dim bh As String = sheet(n,1).Text
            MessageBox.Show("'"& bh &"'")
            If bh = "" Then
                DataTables("jcjgsbsj").LoadTop = "100"
                DataTables("jcjgsbsj").Load
                Tables("jcjgsbsj").ResumeRedraw()
                Exit For
            Else
                Dim dr As DataRow = DataTables("jcjgsbsj").Find(" 证件号码 = '" & bh & "'")
                If dr Is Nothing Then '如果不存在同批号的订单
                    dr =  DataTables("jcjgsbsj").AddNew()
                End If
                For m As Integer = 0 To nms.Length - 1
                    If nms(m) > "" Then
                        dr(nms(m)) = Sheet(n,m).Value
                    End If
                Next
            End If
        Next
        Tables("jcjgsbsj").ResumeRedraw()
    Next
End If
[此贴子已经被作者于2022/3/1 18:09:06编辑过]

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


加好友 发短信
等级:一尾狐 帖子:463 积分:4163 威望:0 精华:0 注册:2011/4/5 16:54:00
回复:(有点蓝)……If dlg.ShowDialog = DialogResu...  发帖心情 Post By:2022/3/8 9:29:00 [显示全部帖子]

谢谢蓝老师,功能可以实现。但存在效率问题,提示证件号码存在,需反复点击确定才能继续,如何完善?

补充说明:管号表内允许重复,证件号码也允许重复,但管号只能使用1次,因此不存不同日期存在相同证件号和管号的情况

 回到顶部