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


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

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

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


加好友 发短信
等级:幼狐 帖子:196 积分:1979 威望:0 精华:0 注册:2012/11/8 14:15:00
[求助]怎样从类似的excel表格把数据批量导入狐表  发帖心情 Post By:2020/1/10 21:41:00 [显示全部帖子]

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:报名表张三.xlsx

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:报名表王五.xlsx

各位专家:
     大家好,我现在有一批excel表格,它们都有一个共同特点,若某个单元格的内容是“姓名:”,它右边一个单元格的内容就是报名人员的姓名,如张三、李四等,现在我想把这些姓名数据都导入狐表,如附件中所示,请问代码怎样编写?之前讨论过的类似代码如下,要求所有的姓名都在excel的同一个位置的单元格,才能实现,而此次我上传的这3个excel中,姓名都不在excel的同一位置的单元格。
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)
        Dim 
dr As DataRow = DataTables("报名表").AddNew
        
dr("姓名") = sheet(1
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:报名表李四.xlsx

,1).Text
    End If
Next

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


加好友 发短信
等级:幼狐 帖子:196 积分:1979 威望:0 精华:0 注册:2012/11/8 14:15:00
  发帖心情 Post By:2020/1/10 21:41:00 [显示全部帖子]

狐表命名如附件所示
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:报名表.table


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


加好友 发短信
等级:幼狐 帖子:196 积分:1979 威望:0 精华:0 注册:2012/11/8 14:15:00
  发帖心情 Post By:2020/1/10 21:43:00 [显示全部帖子]

之前讨论的如此链接所示,参考:http://www.foxtable.com/webhelp/scr/2492.htm

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


加好友 发短信
等级:幼狐 帖子:196 积分:1979 威望:0 精华:0 注册:2012/11/8 14:15:00
  发帖心情 Post By:2020/1/12 21:36:00 [显示全部帖子]

其实,我想咨询的是,如果这一批excel表格,它们都有一个共同特点,若某个单元格的内容是“姓名:”,它右边一个单元格的内容就是报名人员的具体姓名。能否依据这个共同特点,运用人工智能或类似人工智能技术的编程代码来实现导入?

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


加好友 发短信
等级:幼狐 帖子:196 积分:1979 威望:0 精华:0 注册:2012/11/8 14:15:00
  发帖心情 Post By:2020/1/14 21:15:00 [显示全部帖子]

各位专家们
关于上面的类似代码,我也写了如下一段去试验,但是,有错误提示信息,并且也出不来结果,请问需要怎么修改。注:3个类似的excel表格,我已放入计算机F盘的“报名”文件夹里了。请问代码还需怎么修改?

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)
Tables("报名表").StopRedraw()
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
        If Sheet(n,m).Value = "姓名:" Then
            r("姓名") = Sheet(n,m+1).Value
        End If
    Next
Next
Tables("报名表").ResumeRedraw()

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


加好友 发短信
等级:幼狐 帖子:196 积分:1979 威望:0 精华:0 注册:2012/11/8 14:15:00
  发帖心情 Post By:2020/1/16 21:57:00 [显示全部帖子]

谢谢你,有点蓝,姓名这一列的结果能出来了,但在狐表中,姓名这一列的右边还有“性别”和“身份证号”列,同样,在对应的Excel中,张三、李四、王五的真实性别和身份证号码也都在左边单元格的值分别为“性别:”和“身份证号:”的相应单元格中,请问,在此种情况下,要同时提取,对应的Excel中,张三、李四、王五等这一批人的性别和身份证号,代码需怎样修改,我修改的代码如下,但结果出不来,请问,代码存在哪儿,还需修改哪儿?

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
                    If Sheet(n,m).Value = "性别:" Then
                        r("性别") = Sheet(n,m+1).Value
                        If Sheet(n,m).Value = "身份证号:" Then
                            r("身份证号") = Sheet(n,m+1).Value
                        End If  
                    Next
                End If
            Next    
        Next
    End If
Next
End If
Next
Tables("报名表").ResumeRedraw()

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


加好友 发短信
等级:幼狐 帖子:196 积分:1979 威望:0 精华:0 注册:2012/11/8 14:15:00
  发帖心情 Post By:2020/1/16 21:58:00 [显示全部帖子]

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:报名表王五.xlsx

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:报名表李四.xlsx

附件,我再传一遍。
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:报名表张三.xlsx


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


加好友 发短信
等级:幼狐 帖子:196 积分:1979 威望:0 精华:0 注册:2012/11/8 14:15:00
  发帖心情 Post By:2020/1/16 21:59:00 [显示全部帖子]

还有foxtable的附件
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:报名表.table


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


加好友 发短信
等级:幼狐 帖子:196 积分:1979 威望:0 精华:0 注册:2012/11/8 14:15:00
  发帖心情 Post By:2020/1/17 21:05: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
                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
    End If
Next
Tables("报名表").ResumeRedraw()

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


加好友 发短信
等级:幼狐 帖子:196 积分:1979 威望:0 精华:0 注册:2012/11/8 14:15:00
  发帖心情 Post By:2020/1/17 21:50:00 [显示全部帖子]

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:报名表王五.xlsx

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:报名表李四.xlsx

有点蓝,你好,现在我又有一个新的挑战问题需要请教,在我上传的3个excel附件中,每个excel的sheet1中都有且只有一张人像图片,并且这一张人像图片还是不都在excel的同一个位置的单元格中的,现在我想把这一批excel中有且只有的这一张人像图片全部提取到附件所示的狐表中对应着的“照片”这一列,并分别以 张三.jpg、李四.jpg、王五.jpg来命名保存,如狐表附件的的第2、3、4行所示。
请问对于我提出的问题,若模仿链接http://www.foxtable.com/webhelp/topics/2492.htm中的
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:报名表张三.xlsx

以下代码 
Dim fl As String = ProjectPath & "Attachments\" & dr("姓名"& ".jpg"
        If Sheet(4,4).SaveImage(fl) Then 
            
dr("照片") = fileSys.GetName(fl)
其中的
 If Sheet(4,4).SaveImage(fl) Then
这句又该怎么修改,才能实现预期结果?

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