Foxtable(狐表)用户栏目专家坐堂 → 求助:关于合并数据,怎么实现EXCEL表格跨列或者指定的列数据导入呢?


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

主题:求助:关于合并数据,怎么实现EXCEL表格跨列或者指定的列数据导入呢?

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


加好友 发短信
等级:超级版主 帖子:107680 积分:547721 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/2/16 9:05:00 [显示全部帖子]

Dim dlg As New OpenFileDialog
dlg.Filter = "Excel文件|*.xls;*.xlsx"
If dlg.ShowDialog =DialogResult.OK Then
    Dim t As Table = Tables("案件基本信息")
    t.StopRedraw()
    Dim Book As New XLS.Book(dlg.FileName)
    Dim Sheet As XLS.Sheet = Book.Sheets(0)
    For n As Integer = 1 To Sheet.Rows.Count -1
        Dim r As DataRow = t.DataTable.Find("部门受案号 = '" & sheet(n,0).text & "'")
        Dim Isnew As Boolean
        If r Is Nothing Then
            r = t.DataTable.AddNew()
            Isnew  = True
        End If
        For i As Integer = 0 To sheet.Cols.Count -1
            Dim cname As String = sheet(0, i).text
            If t.Cols.Contains(cname) Then
                If Isnew = False AndAlso cname = "是否关联" Then Continue For
                r(cname) = sheet(n, i).Text
            ElseIf cname = "移诉意见" Then
                r("移送意见") = sheet(n, i).Text
            End If
        Next
    Next
    t.ResumeRedraw()
End If

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


加好友 发短信
等级:超级版主 帖子:107680 积分:547721 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/2/16 10:31:00 [显示全部帖子]

本来就是这样处理的,请看懂代码,并仔细测试。

另外检查execl或者Foxtable的部门受案号是否有多余的空格或者其它看不见的符号,导致查询不到

Dim r As DataRow = t.DataTable.Find("部门受案号 = '" & sheet(n,0).text.trim() & "'")

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


加好友 发短信
等级:超级版主 帖子:107680 积分:547721 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/2/16 14:17:00 [显示全部帖子]

Dim r As DataRow = t.DataTable.Find("部门受案号 = '" & sheet(n,1).text & "'")

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


加好友 发短信
等级:超级版主 帖子:107680 积分:547721 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/2/18 21:12:00 [显示全部帖子]

循环取EXCEL表第一行的所有列,如果有部门受案号列,记录下来是第几列

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


加好友 发短信
等级:超级版主 帖子:107680 积分:547721 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/2/18 22:16:00 [显示全部帖子]

都是编程的基本功来的,还要到论坛搜?http://www.foxtable.com/webhelp/scr/0225.htm


Dim c As Integer
For i As Integer = 0 To sheet.Cols.Count -1
    If sheet(0,i).text = "部门受案号" Then
        c = i
        Exit For
    End If
Next
msgbox("案号列=" & c)

 回到顶部