Foxtable(狐表)用户栏目专家坐堂 → 批量合并问题!


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

主题:批量合并问题!

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


加好友 发短信
等级:一尾狐 帖子:411 积分:4321 威望:0 精华:0 注册:2018/7/18 21:08:00
批量合并问题!  发帖心情 Post By:2020/6/13 12:00:00 [只看该作者]

有很多文件需要批量合并,窗口表中某列的值等于文件名,批量导入时如何做到导入的文件与某列值对应,请老师指导。
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:艾金玉.xls


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


加好友 发短信
等级:一尾狐 帖子:411 积分:4321 威望:0 精华:0 注册:2018/7/18 21:08:00
  发帖心情 Post By:2020/6/13 12:01:00 [只看该作者]

Dim dlg As New OpenFileDialog
dlg.MultiSelect = True
dlg.Filter= "数据库文件|*.dbf;*.xls;*.xlsx|全部|*.*"
If dlg.ShowDialog = DialogResult.OK Then
    systemready = False
    For Each fl As String In dlg.FileNames
        If fl.ToLower.EndsWith(".xls") Then
            Dim Book As New xls.Book(fl)
            Dim wjm As String = FileSys.GetName(fl)
            Dim s As String
            s=wjm.Replace(".xls","")
            For Each Sheet As xls.Sheet In Book.Sheets '引用新增加的工作表
                Dim mg As New Merger
                mg.SourcePath = fl '指定数据文件所在目录
                mg.Format = "excel" '指定格式
                mg.SourceTableName = sheet.Name & "$"
                mg.DataTableName = "测试表1" '指定接收数据的表
                mg.Merge() '开始合并
                Vars("name")=s
                MessageBox.show(dlg.FileName)
            Next
        End If
    Next
    DataTables("测试表1").DeleteFor("全部费用明细 is null")
    systemready = True
End If
Dim btn2 As WinForm.Button = e.Form.Controls("Button2")
btn2.PerformClick

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


加好友 发短信
等级:一尾狐 帖子:411 积分:4321 威望:0 精华:0 注册:2018/7/18 21:08:00
  发帖心情 Post By:2020/6/13 12:01:00 [只看该作者]

我用的是这个合并命令

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


加好友 发短信
等级:超级版主 帖子:111419 积分:567171 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/6/13 14:02:00 [只看该作者]

首先。表格不规范:http://www.foxtable.com/webhelp/topics/2280.htm,如果一定要按住这种格式导,需要这样:http://www.foxtable.com/webhelp/topics/2334.htm

其次,"导入的文件与某列值对应"指什么?文件的名称等于某列值?那就这样:

dim r as row = tables("A").current
Dim Book As New XLS.Book(r("某列"))
Dim 
Sheet As XLS.Sheet = Book.Sheets(0)

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


加好友 发短信
等级:一尾狐 帖子:411 积分:4321 威望:0 精华:0 注册:2018/7/18 21:08:00
  发帖心情 Post By:2020/6/13 14:33:00 [只看该作者]

说反了,是某列值等于文件的名称。

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


加好友 发短信
等级:超级版主 帖子:111419 积分:567171 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/6/13 14:41:00 [只看该作者]

使用这种方式导数据http://www.foxtable.com/webhelp/topics/2334.htm

把文件名填入需要的单元格

 回到顶部