Foxtable(狐表)用户栏目专家坐堂 → 对批量导入excel,电子表格的文件名不一样,而且里面工作表的名称也不一样,请问这怎么导入


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

主题:对批量导入excel,电子表格的文件名不一样,而且里面工作表的名称也不一样,请问这怎么导入

帅哥哟,离线,有人找我吗?
狐狸爸爸
  11楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47448 积分:251060 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2013/8/17 15:56:00 [只看该作者]

一些Excel文件,可能需要在表名后加上符号$才能正常导入,例如:
Dim mg As New Merger
mg.SourcePath = "c:\data\销售管理.xls"
mg.Format = "excel" '指定格式
mg.SourceTableName = "订单$" '指定要合并的表
mg.DataTableName = "订单" '指定接收数据的表
mg.Merge() '开始合并

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


加好友 发短信
等级:童狐 帖子:226 积分:2815 威望:0 精华:0 注册:2008/9/1 15:41:00
  发帖心情 Post By:2013/8/17 15:57:00 [只看该作者]

关键是工作表的名称不一样。

For Each File As String In FileSys.GetFiles("C:\55555")
Dim fileName As String =File.SubString(File.LastIndexOf("\")+1,File.length-File.LastIndexOf("\")-1)
Dim mg As New Merger
    mg.SourcePath = File
    mg.Format = "excel" '指定格式
    mg.SourceTableName = fileName.SubString(0,fileName.IndexOf("."))'指定要合并的表
    mg.DataTableName = "表A" '指定接收数据的表
    mg.Merge() '开始合并
Next


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


加好友 发短信
等级:童狐 帖子:226 积分:2815 威望:0 精华:0 注册:2008/9/1 15:41:00
  发帖心情 Post By:2013/8/17 16:23:00 [只看该作者]

这代码是错的吗

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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2013/8/17 16:26:00 [只看该作者]


    mg.SourceTableName = fileName.SubString(0,fileName.IndexOf(".")) & "$"  

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


加好友 发短信
等级:童狐 帖子:226 积分:2815 威望:0 精华:0 注册:2008/9/1 15:41:00
  发帖心情 Post By:2013/8/17 16:30:00 [只看该作者]

执行只表A只是增加几个空行,数据都没有上

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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2013/8/17 16:30:00 [只看该作者]

你上个例子吧.

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


加好友 发短信
等级:童狐 帖子:226 积分:2815 威望:0 精华:0 注册:2008/9/1 15:41:00
  发帖心情 Post By:2013/8/17 16:37:00 [只看该作者]

这是需要导入的表
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:55555.zip

[此贴子已经被作者于2013-8-17 16:41:25编辑过]

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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2013/8/17 16:38:00 [只看该作者]

表和 项目例子都没看到图片点击可在新窗口打开查看

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


加好友 发短信
等级:童狐 帖子:226 积分:2815 威望:0 精华:0 注册:2008/9/1 15:41:00
  发帖心情 Post By:2013/8/17 16:42:00 [只看该作者]

传上来了,将里面的表的内容导入foxtable上的表A中

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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2013/8/17 16:52:00 [只看该作者]

我不知道你是怎么做的,反正我按照上面楼的代码测试是没有问题的.


For Each File As String In FileSys.GetFiles("C:\Users\foxtable1\Desktop\55555\55555")
Dim fileName As String =File.SubString(File.LastIndexOf("\")+1,File.length-File.LastIndexOf("\")-1)
Dim mg As New Merger
    mg.SourcePath = File
    mg.Format = "excel" '指定格式
    mg.SourceTableName = fileName.SubString(0,fileName.IndexOf(".")) & "$"'指定要合并的表
    mg.DataTableName = "表A" '指定接收数据的表
    mg.Merge() '开始合并
Next

 回到顶部
总数 32 上一页 1 2 3 4 下一页