以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  两种合并方式,结果为什么不同?  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=81031)

--  作者:ahbrq
--  发布时间:2016/2/16 21:44:00
--  两种合并方式,结果为什么不同?

 方法一:在系统菜单中“杂项”高速合并EXCEL文件,是能够实现的。

方法二:在窗口按钮代码如下:

Dim dlg As New OpenFileDialog \'定义一个新的OpenFileDialog
dlg.Filter= "excel文件|*.xls" \'设置筛选器
If dlg.ShowDialog = DialogResult.Ok Then \'如果用户单击了确定按钮
    Dim mg As New Merger
    mg.SourcePath = dlg.FileName
    mg.SourceTableName = "积分数据20160125$"
    mg.DataTableName = "储蓄积分"
    mg.Merge()
End If

 

执行该代码出现错误:.NET Framework 版本:2.0.50727.5485
Foxtable 版本:2014.11.11.1
错误所在事件:
详细错误信息:
不可识别的数据库格式 \'D:\\积分数据20160125.xls\'


--  作者:大红袍
--  发布时间:2016/2/16 22:03:00
--  

加上代码

 

 mg.Format = "Excel"

 

-----------------------------------------------

 

Dim mg As New Merger
mg
.SourcePath = "c:\\data\\销售管理.xls"
mg
.Format = "excel" \'指定格式
mg
.SourceTableName = "订单" \'指定要合并的表
mg
.DataTableName = "订单" \'指定接收数据的表
mg
.Merge() \'开始合并


--  作者:ahbrq
--  发布时间:2016/2/16 22:22:00
--  

 我用的是打开对话框选择要合并的文件,在选择文件对话框打开后,没有出现我要导入的Excel文件,但是出现了97-2003的工作表。

 

可见可能是EXCEL版本问题,是这样吗?


--  作者:大红袍
--  发布时间:2016/2/16 22:33:00
--  

Dim dlg As New OpenFileDialog \'定义一个新的OpenFileDialog
dlg.Filter= "excel文件|*.xls;*.xlsx" \'设置筛选器
If dlg.ShowDialog = DialogResult.Ok Then \'如果用户单击了确定按钮
    Dim mg As New Merger
    mg.SourcePath = dlg.FileName
    mg.SourceTableName = "积分数据20160125$"
    mg.DataTableName = "储蓄积分"

    mg.Format = "Excel"
    mg.Merge()
End If


--  作者:ahbrq
--  发布时间:2016/2/16 22:44:00
--  

 出现以下提示:“青年路积分数据20160125$”不是一个有效名称。请确认它不包含无效的字符或标点,且名称不太长。

 

但是在系统菜单中操作没有这个提示。不过,在打开文件对话框中出现了要合并的EXCEL文件了。

[此贴子已经被作者于2016/2/16 22:45:06编辑过]

--  作者:大红袍
--  发布时间:2016/2/17 0:05:00
--  
Dim dlg As New OpenFileDialog \'定义一个新的OpenFileDialog
dlg.Filter= "excel文件|*.xls;*.xlsx" \'设置筛选器
If dlg.ShowDialog = DialogResult.Ok Then \'如果用户单击了确定按钮
    Dim mg As New Merger
    mg.SourcePath = dlg.FileName
    Dim book As new XLS.Book(dlg.FileName)
    mg.SourceTableName = book.Sheets(0).Name & "$"
    mg.DataTableName = "储蓄积分"
   
    mg.Format = "Excel"
    mg.Merge()
End If

--  作者:ahbrq
--  发布时间:2016/2/19 21:30:00
--  

对了,什么原因呢?


--  作者:大红袍
--  发布时间:2016/2/20 1:29:00
--  
以下是引用ahbrq在2016/2/19 21:30:00的发言:

对了,什么原因呢?

 

你每个excel文件里面的表的名称都不一样导致的。


--  作者:ahbrq
--  发布时间:2016/3/21 21:08:00
--  

用6楼代码出现以下错误,什么原因?
图片点击可在新窗口打开查看此主题相关图片如下:导入数据出错.png
图片点击可在新窗口打开查看


--  作者:大红袍
--  发布时间:2016/3/21 21:35:00
--  

是不是你表名写错了啊

 

mg.DataTableName = "储蓄积分"