Foxtable(狐表)用户栏目专家坐堂 → [求助]怎样用报表编程和合并数据来导入


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

主题:[求助]怎样用报表编程和合并数据来导入

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


加好友 发短信
等级:幼狐 帖子:196 积分:1979 威望:0 精华:0 注册:2012/11/8 14:15:00
[求助]怎样用报表编程和合并数据来导入  发帖心情 Post By:2018/8/20 22:53:00 [只看该作者]

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

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

各位专家和高手
      在我上传的附件中有两张报名表,还有个foxtable项目,名为“由报表制数据库”,我想求教,怎样把两张xls的报名表导入到狐表中,使预期结果像foxtable项目中名为“由报表制数据库”的那样形式?报名表中的个人简历、家庭成员和照片都以附件形式存储于狐表,姓名、性别等信息直接导入狐表。报名表xls的格式都是相同的,各项小标题都相同,只是所填写的具体内容不同,报名表xls的命名形式也都相同,只是前面的人名不同。在现实工作中,报名表往往至少是几百人的。
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:由报表制数据库.table


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


加好友 发短信
等级:超级版主 帖子:106067 积分:539428 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2018/8/21 8:55:00 [只看该作者]


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


加好友 发短信
等级:幼狐 帖子:196 积分:1979 威望:0 精华:0 注册:2012/11/8 14:15:00
  发帖心情 Post By:2018/8/21 22:47:00 [只看该作者]

有点蓝
      你好,我模仿写出以下代码,试着提取姓名的数据,出现的结果是如附件图所示,请问错误出在哪?
图片点击可在新窗口打开查看此主题相关图片如下:显示出错.jpg
图片点击可在新窗口打开查看
For Each file As String In filesys .GetFiles("c:\Data")
    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(3,0).Text
    End If
Next

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


加好友 发短信
等级:幼狐 帖子:196 积分:1979 威望:0 精华:0 注册:2012/11/8 14:15:00
  发帖心情 Post By:2018/8/21 22:58:00 [只看该作者]

我要提取的数据源excel表格如附件中所示。
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:李四 报名表.xls


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


加好友 发短信
等级:超级版主 帖子:106067 积分:539428 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2018/8/21 23:00:00 [只看该作者]

帮助的代码是不能完全照搬的,如果完全看不懂,请先系统学习一下。

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


加好友 发短信
等级:幼狐 帖子:196 积分:1979 威望:0 精华:0 注册:2012/11/8 14:15:00
  发帖心情 Post By:2018/8/23 22:51:00 [只看该作者]

有点蓝
      你好,这次我从报表编程开始学习了一遍,又把代码作了修改如下,可想要的结果还是出不来,请问问题出在哪儿?

For Each file As String In filesys .GetFiles("c:\Data")
    If file.EndsWith(".xls") OrElse file.EndsWith(".xlsx") Then
        Dim Book As New XLS.Book(file)
        Dim Sheet As XLS.Sheet = Book.Sheets("正面")
        Dim dr As DataRow = DataTables("报名表").AddNew
        For i As Integer = 0 To 9
            Sheet(i, 0).Value = (i + 1) * 10
            Sheet(i, 1).Value = (i + 1) * 100
            Sheet(i, 2).Value = (i + 1) * 1000
        Next
        dr("姓名") = sheet(3,1).Text
        Dim fl As String = ProjectPath & "Attachments\" & dr("姓名") & ".jpg"
        If Sheet(4,4).SaveImage(fl) Then
            dr("照片") = fileSys.GetName(fl)
        End If
    End If
Next

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


加好友 发短信
等级:幼狐 帖子:196 积分:1979 威望:0 精华:0 注册:2012/11/8 14:15:00
  发帖心情 Post By:2018/8/23 22:53:00 [只看该作者]

这样修改后,结果仍出不来。
For Each file As String In filesys .GetFiles("c:\Data")
    If file.EndsWith(".xls") OrElse file.EndsWith(".xlsx") Then
        Dim Book As New XLS.Book(file)
        Dim Sheet As XLS.Sheet = Book.Sheets("正面")
        Dim dr As DataRow = DataTables("报名表").AddNew
        For i As Integer = 0 To 9
            Sheet(i, 0).Value = (i + 1) * 10
            Sheet(i, 1).Value = (i + 1) * 100
            Sheet(i, 2).Value = (i + 1) * 1000
        Next
        dr("姓名") = sheet(3,1).Text
        Dim fl As String = ProjectPath & "Attachments\" & dr("姓名") & ".jpg"
        If Sheet(2,5).SaveImage(fl) Then
            dr("照片") = fileSys.GetName(fl)
        End If
    End If
Next

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


加好友 发短信
等级:超级版主 帖子:106067 积分:539428 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2018/8/24 8:59:00 [只看该作者]

把【编程基础】和【foxtable编程】先系统学习一下。

帮助的代码基本改表名和列名,以及单元格的位置就可以了,而不是乱改。
dr("姓名") = sheet(4,1).Text '这里4,1指的是execl第5行,第2列的单元格(行列索引从0开始计算)


Dim Book As New XLS.Book("e:\问题\李四 报名表.xls")
Dim Sheet As XLS.Sheet = Book.Sheets(0)
'Dim dr As DataRow = DataTables("员工").AddNew
msgbox(sheet(17,1).Text)
'dr("姓名") = sheet(17,1).Text


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


加好友 发短信
等级:幼狐 帖子:196 积分:1979 威望:0 精华:0 注册:2012/11/8 14:15:00
  发帖心情 Post By:2018/8/25 21:33:00 [只看该作者]

有点蓝
      你好,这次我又重新修改了代码,如下,结果是能出来了,确实把报名表.xls中张三、李四的姓名和照片都分别提取到第一二列了
For Each file As String In filesys .GetFiles("c:\Foxtable")
    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("表B").AddNew
        dr("第一列") = sheet(3,2).Text
        Dim fl As String = ProjectPath & "Attachments\" & dr("第一列") & ".jpg"
        If Sheet(2,5).SaveImage(fl) Then
            dr("第二列") = fileSys.GetName(fl)
        End If
    End If
Next

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


加好友 发短信
等级:幼狐 帖子:196 积分:1979 威望:0 精华:0 注册:2012/11/8 14:15:00
  发帖心情 Post By:2018/8/25 21:46:00 [只看该作者]

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

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

有点蓝
      你好,但是我还有一个问题,我想把张三、李四报名表.xls中的已被我用浅绿色填充的“家庭成员情况区域”B17:G19单独复制到一个新的xls文件并以文件附件的形式存储到第三列。第三列的  列属性——扩展列类型  也被我修改为文件或多文件了,我写出的代码如下,但是结果出不来,请指教,错误在哪儿,该怎么修改
For Each file As String In filesys .GetFiles("c:\Foxtable")
    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("表B").AddNew
        dr("第一列") = sheet(3,2).Text
        Dim fl As String = ProjectPath & "Attachments\" & dr("第一列") & ".jpg"
        If Sheet(2,5).SaveImage(fl) Then
            dr("第二列") = fileSys.GetName(fl)
            Dim fl As String = ProjectPath & "Attachments\" & dr("第一列"and"的家庭成员") & ".xls"
            If Sheet(B17:G19).SaveImage(fl) Then
                dr("第三列") = fileSys.GetName(fl)
            End If
        End If
    End If
Next
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:由报表制数据库.table


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