以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  Merger 合并Excel表名的问题  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=7625)

--  作者:mr725
--  发布时间:2010/7/17 23:02:00
--  Merger 合并Excel表名的问题

下面试帮助中:

 

合并Excel文件:

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

一些Excel文件,可能需要在表名后加上符号$才能正常导入,例如:

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

 

请问: 有没有办法判断一下要合并的表 如果不是“订单” 就选择“订单$"  或者 跳过系统的提示~  


图片点击可在新窗口打开查看此主题相关图片如下:未命名.jpg
图片点击可在新窗口打开查看

--  作者:czy
--  发布时间:2010/7/17 23:33:00
--  

这个不能判断吧。

不知道都加上$行不行(反正我的电脑一定得加,不然就出错)


--  作者:czy
--  发布时间:2010/7/17 23:38:00
--  
从系统菜单的导入和合并来看,老六应该是可以让它能判断的,因为这两个功能的选择指定的表都带$符号。
--  作者:mr725
--  发布时间:2010/7/18 0:11:00
--  

附件中两个excel文件, 销售管理.xls 有带$符合, 销售管理1.xls 就没有$这个符合......

 

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

 

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

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:data.rar

 

 


--  作者:czy
--  发布时间:2010/7/18 1:28:00
--  

问题是我们不能用代码获取Excel工作表带$符号的名称。

 

如下面两种方式返回的都是不带$符号的工作表名称:

 

Dim App As New MSExcel.Application
Dim Wb As MSExcel.WorkBook = App.WorkBooks.Open(ProjectPath & "销售管理.xls")
For Each Ws As MSExcel.WorkSheet In Wb.Sheets
    Output.Show(Ws.Name)
Next
App.Quit

 

 

 

Dim Book As New XLS.Book(ProjectPath & "销售管理.xls")
Dim Sheet As XLS.Sheet
For i As Integer = 0 To Book.Sheets.Count -1
    Output.Show(Book.Sheets(i).Name)
Next


--  作者:狐狸爸爸
--  发布时间:2010/7/18 9:34:00
--  

建立一个Excel数据源,然后:

 

 

Dim lst As List(Of String)
lst = Connections("数据源名称").GetTableNames
For Each
nm As String In lst
    Output.Show(nm)

Next

[此贴子已经被作者于2010-7-18 9:34:35编辑过]

--  作者:czy
--  发布时间:2010/7/18 12:38:00
--  
以下是引用狐狸爸爸在2010-7-18 9:34:00的发言:

建立一个Excel数据源,然后:

 

 

Dim lst As List(Of String)
lst = Connections("数据源名称").GetTableNames
For Each
nm As String In lst
    Output.Show(nm)

Next

[此贴子已经被作者于2010-7-18 9:34:35编辑过]

 

这方法可行。


--  作者:mr725
--  发布时间:2010/7/18 21:31:00
--  

ok  有点迂回的感觉······

 

其实就是多了个系统提示,为何用 :

 

Try
   代码一
Catch ex As Exception
   代码二
End Try
代码三

 

也不能避免那个提示,