Foxtable(狐表)用户栏目专家坐堂 → 【求助】数据合并


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

主题:【求助】数据合并

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


加好友 发短信
等级:幼狐 帖子:117 积分:973 威望:0 精华:0 注册:2016/11/1 8:13:00
【求助】数据合并  发帖心情 Post By:2016/11/24 17:02:00 [只看该作者]

下面是我写的代码,为什么合并数据时选了多张表,但是只能合并到第一张表的数据呢,请各位老师赐教,谢谢!!
Dim dlg As New OpenFileDialog '定义一个新的OpenFileDialog
dlg.Filter= "Execl文件|*.xlsx" '设置筛选器
dlg.MultiSelect = True '允许选择多个文件
If dlg.ShowDialog = DialogResult.Ok Then '如果用户单击了确定按钮
    Dim mg As New Merger
    mg.SourcePath = dlg.FileName  '指定数据文件
    mg.SourceTableName = "report$"  '指定要导入的表
    mg.DataTableName="表A" 
    mg.Format ="Excel" 
    mg.FieldMaps.Add("F6","编码") 
    mg.FieldMaps.Add("F9","数量")
    mg.FieldMaps.Add("F10","类型")
    mg.Filter = "[F6] like '0%' " '指定合并条件 
    mg.Merge()
End If

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


加好友 发短信
等级:超级版主 帖子:112396 积分:572248 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2016/11/24 17:08:00 [只看该作者]

Dim dlg As New OpenFileDialog '定义一个新的OpenFileDialog
dlg.Filter= "Execl文件|*.xlsx" '设置筛选器
dlg.MultiSelect = True '允许选择多个文件
If dlg.ShowDialog = DialogResult.Ok Then '如果用户单击了确定按钮
    For Each file In dlg.FileNames
        Dim mg As New Merger
        mg.SourcePath = file '指定数据文件
        mg.SourceTableName = "report$"  '指定要导入的表
        mg.DataTableName="表A"
        mg.Format ="Excel"
        mg.FieldMaps.Add("F6","编码")
        mg.FieldMaps.Add("F9","数量")
        mg.FieldMaps.Add("F10","类型")
        mg.Filter = "[F6] like '0%' " '指定合并条件
        mg.Merge()
    End If
End If

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


加好友 发短信
等级:幼狐 帖子:117 积分:973 威望:0 精华:0 注册:2016/11/1 8:13:00
  发帖心情 Post By:2016/11/24 17:16:00 [只看该作者]

多谢啦!!!

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


加好友 发短信
等级:幼狐 帖子:117 积分:973 威望:0 精华:0 注册:2016/11/1 8:13:00
  发帖心情 Post By:2016/11/24 17:27:00 [只看该作者]

有点蓝老师,不对哦,这样只是将第一张表合并了两次,没有合并到第二张表哦

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


加好友 发短信
等级:超级版主 帖子:112396 积分:572248 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2016/11/24 17:43:00 [只看该作者]

Dim dlg As New OpenFileDialog '定义一个新的OpenFileDialog
dlg.Filter= "Execl文件|*.xlsx" '设置筛选器
dlg.MultiSelect = True '允许选择多个文件
If dlg.ShowDialog = DialogResult.Ok Then '如果用户单击了确定按钮
    Dim idx As Integer = 0
    Dim names() As String = {"表A","表B"}
    If names.Length <> dlg.FileNames.Length
        msgbox("文件数量和表格数量不一致")
    Else
        For Each file As String In dlg.FileNames
            Dim mg As New Merger
            mg.SourcePath = file '指定数据文件
            mg.SourceTableName = "report$"  '指定要导入的表
            mg.DataTableName=names(idx)
            mg.Format ="Excel"
            mg.FieldMaps.Add("F6","编码")
            mg.FieldMaps.Add("F9","数量")
            mg.FieldMaps.Add("F10","类型")
            mg.Filter = "[F6] like '0%' " '指定合并条件
            mg.Merge()
            idx += 1
        Next
    End If
End If

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


加好友 发短信
等级:二尾狐 帖子:573 积分:2961 威望:0 精华:0 注册:2016/10/27 14:33:00
  发帖心情 Post By:2016/11/24 17:46:00 [只看该作者]

但是,你要把excel的数据合并到哪个表呢?注意标红的地方
 

Dim dlg As New OpenFileDialog '定义一个新的OpenFileDialog
dlg.Filter= "Execl文件|*.xlsx" '设置筛选器
dlg.MultiSelect = True '允许选择多个文件
If dlg.ShowDialog = DialogResult.Ok Then '如果用户单击了确定按钮
    For Each file As String In dlg.FileNames
        Dim mg As New Merger
        mg.SourcePath = file '指定数据文件
        mg.SourceTableName = "report$"  '指定要导入的表
        Dim f As new FileInfo(file)
        mg.DataTableName=f.Name.Replace(f.Extension,"")
        msgbox(mg.DataTableName)
        mg.Format ="Excel"
        mg.FieldMaps.Add("F6","编码")
        mg.FieldMaps.Add("F9","数量")
        mg.FieldMaps.Add("F10","类型")
        mg.Filter = "[F6] like '0%' " '指定合并条件
        mg.Merge()
    Next
End If
[此贴子已经被作者于2016/11/24 17:46:07编辑过]

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


加好友 发短信
等级:幼狐 帖子:117 积分:973 威望:0 精华:0 注册:2016/11/1 8:13:00
  发帖心情 Post By:2016/11/24 21:38:00 [只看该作者]

有点蓝老师,不好意思,是我的表述有问题,我的意思是:选择多个excel文件,全部合并到foxtable的表A中,该怎么改?麻烦啦!!

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


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

2楼就是

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


加好友 发短信
等级:幼狐 帖子:117 积分:973 威望:0 精华:0 注册:2016/11/1 8:13:00
  发帖心情 Post By:2016/11/24 21:41:00 [只看该作者]

有点青老师,你6楼红色那段代码为什么要替换扩展名,我看不明白,可以给点注释?谢谢了

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


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

以下是引用好吧在2016/11/24 21:41:00的发言:
有点青老师,你6楼红色那段代码为什么要替换扩展名,我看不明白,可以给点注释?谢谢了

导到和文件名一样的表格里

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