Foxtable(狐表)用户栏目专家坐堂 → Merger 合并Excel表名的问题


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

主题:Merger 合并Excel表名的问题

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


加好友 发短信 一级勋章
等级:MVP荣誉狐 帖子:5154 积分:31434 威望:0 精华:8 注册:2008/9/8 12:27:00
Merger 合并Excel表名的问题  发帖心情 Post By:2010/7/17 23:02:00 [只看该作者]

下面试帮助中:

 

合并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
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章 三级勋章 二级勋章
等级:超级版主 帖子:6318 积分:33951 威望:0 精华:10 注册:2008/8/31 20:56:00
  发帖心情 Post By:2010/7/17 23:33:00 [只看该作者]

这个不能判断吧。

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


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


加好友 发短信 一级勋章 三级勋章 二级勋章
等级:超级版主 帖子:6318 积分:33951 威望:0 精华:10 注册:2008/8/31 20:56:00
  发帖心情 Post By:2010/7/17 23:38:00 [只看该作者]

从系统菜单的导入和合并来看,老六应该是可以让它能判断的,因为这两个功能的选择指定的表都带$符号。

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


加好友 发短信 一级勋章
等级:MVP荣誉狐 帖子:5154 积分:31434 威望:0 精华:8 注册:2008/9/8 12:27:00
  发帖心情 Post By: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
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章 三级勋章 二级勋章
等级:超级版主 帖子:6318 积分:33951 威望:0 精华:10 注册:2008/8/31 20:56:00
  发帖心情 Post By: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


 回到顶部
帅哥,在线噢!
狐狸爸爸
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47477 积分:251256 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By: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
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章 三级勋章 二级勋章
等级:超级版主 帖子:6318 积分:33951 威望:0 精华:10 注册:2008/8/31 20:56:00
  发帖心情 Post By: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
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:MVP荣誉狐 帖子:5154 积分:31434 威望:0 精华:8 注册:2008/9/8 12:27:00
  发帖心情 Post By:2010/7/18 21:31:00 [只看该作者]

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

 

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

 

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

 

也不能避免那个提示,

 


 回到顶部