以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 【求助】数据合并 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=93288) |
-- 作者:好吧 -- 发布时间: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 |
-- 作者:有点蓝 -- 发布时间: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
|
-- 作者:好吧 -- 发布时间:2016/11/24 17:16:00 -- 多谢啦!!! |
-- 作者:好吧 -- 发布时间:2016/11/24 17:27:00 -- 有点蓝老师,不对哦,这样只是将第一张表合并了两次,没有合并到第二张表哦 |
-- 作者:有点蓝 -- 发布时间: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
|
-- 作者:有点青 -- 发布时间: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编辑过]
|
-- 作者:好吧 -- 发布时间:2016/11/24 21:38:00 -- 有点蓝老师,不好意思,是我的表述有问题,我的意思是:选择多个excel文件,全部合并到foxtable的表A中,该怎么改?麻烦啦!! |
-- 作者:有点蓝 -- 发布时间:2016/11/24 21:40:00 -- 2楼就是 |
-- 作者:好吧 -- 发布时间:2016/11/24 21:41:00 -- 有点青老师,你6楼红色那段代码为什么要替换扩展名,我看不明白,可以给点注释?谢谢了 |
-- 作者:有点蓝 -- 发布时间:2016/11/24 22:00:00 -- 以下是引用好吧在2016/11/24 21:41:00的发言:
导到和文件名一样的表格里
有点青老师,你6楼红色那段代码为什么要替换扩展名,我看不明白,可以给点注释?谢谢了 |