Foxtable(狐表)用户栏目专家坐堂 → [求助]怎样从类似的excel表格把数据批量导入狐表


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

主题:[求助]怎样从类似的excel表格把数据批量导入狐表

帅哥,在线噢!
有点蓝
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


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

如果每个表格的格式都不一样,只能是给每个表格写一段对应的导入代码。

 回到顶部
帅哥,在线噢!
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:105958 积分:538865 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/1/12 22:29:00 [显示全部帖子]

遍历所有单元格,如果某个 单元格值为“姓名:”,则取右边一个单元格值填入姓名列,类似

Dim Book As New XLS.Book("c:\test\订单.xls")
Dim 
Sheet As XLS.Sheet = Book.Sheets(0)
Tables("订单").StopRedraw()
Dim r As Row = Tables("订单").AddNew()
For n As Integer = 0 To Sheet.Rows.Count -
    For 
m As Integer = 0 To Sheet.Cols.Count1
      if 
Sheet(n,m).Value = “姓名:” then 
r("姓名") = Sheet(n,m+1).Value
end if
    Next
Next
Tables(
"订单").ResumeRedraw()

 回到顶部
帅哥,在线噢!
有点蓝
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:105958 积分:538865 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/1/14 21:58:00 [显示全部帖子]

Tables("报名表").StopRedraw()
For Each file As String In filesys .GetFiles("f:\报名")
    If file.EndsWith(".xls") OrElse file.EndsWith(".xlsx") Then
        Dim Book As New XLS.Book(file)
        Dim Sheet As XLS.Sheet = Book.Sheets(0)
        ‘’Output.Show(Sheet.Rows.Count & "," & Sheet.Cols.Count)
        Dim r As Row = Tables("报名表").AddNew()
        For n As Integer = 0 To Sheet.Rows.Count -1
            For m As Integer = 0 To Sheet.Cols.Count- 1
        ‘’Output.Show(Sheet(n,m).Value )
                If Sheet(n,m).Value = "姓名:" Then
                    r("姓名") = Sheet(n,m+1).Value
                End If
            Next
        Next
    End If
Next
Tables("报名表").ResumeRedraw()

 回到顶部
帅哥,在线噢!
有点蓝
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:105958 积分:538865 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/1/17 9:28:00 [显示全部帖子]


For n As Integer = 0 To Sheet.Rows.Count -1
    For m As Integer = 0 To Sheet.Cols.Count- 1
        ''Output.Show(Sheet(n,m).Value )
        If Sheet(n,m).Value = "姓名:" Then
            r("姓名") = Sheet(n,m+1).Value
        ElseIf Sheet(n,m).Value = "性别:" Then
            r("性别") = Sheet(n,m+1).Value
        ElseIf Sheet(n,m).Value = "身份证号:" Then
            r("身份证号") = Sheet(n,m+1).Value
        End If
    Next
Next
或者
For n As Integer = 0 To Sheet.Rows.Count -1
    For m As Integer = 0 To Sheet.Cols.Count- 1
        ''Output.Show(Sheet(n,m).Value )
        Select Case Sheet(n,m).Value
            Case "姓名:" Then
                r("姓名") = Sheet(n,m+1).Value
            Case "性别:" Then
                r("性别") = Sheet(n,m+1).Value
            Case "身份证号:" Then
                r("身份证号") = Sheet(n,m+1).Value
        End Select
    Next
Next

[此贴子已经被作者于2020/1/17 9:28:53编辑过]

 回到顶部
帅哥,在线噢!
有点蓝
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:105958 积分:538865 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/1/17 22:33:00 [显示全部帖子]


 回到顶部
帅哥,在线噢!
有点蓝
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:105958 积分:538865 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/1/19 9:54:00 [显示全部帖子]

代码中使用like进行字符比较参考:http://www.foxtable.com/webhelp/topics/0222.htm

在筛选条件中使用like查询参考:http://www.foxtable.com/webhelp/topics/0102.htm

上面是2种不同的用法,不能混用,17楼要使用第一种用法

If Sheet(n,m).Value Like "*姓名*" Then

 回到顶部