Foxtable(狐表)用户栏目专家坐堂 → [求助]如何将一个文件夹中的所有EXCEL合并或导入到一个表中


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

主题:[求助]如何将一个文件夹中的所有EXCEL合并或导入到一个表中

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


加好友 发短信
等级:一尾狐 帖子:428 积分:4711 威望:0 精华:3 注册:2009/7/4 13:40:00
[求助]如何将一个文件夹中的所有EXCEL合并或导入到一个表中  发帖心情 Post By:2016/10/28 14:02:00 [只看该作者]

如题,要合并或导入的表结构都相同,怎么写代码。有30个单位,名称都不一样。
[此贴子已经被作者于2016/10/28 14:05:57编辑过]

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


加好友 发短信
等级:一尾狐 帖子:428 积分:4711 威望:0 精华:3 注册:2009/7/4 13:40:00
  发帖心情 Post By:2016/10/28 14:23:00 [只看该作者]

顶一下


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


加好友 发短信
等级:四尾狐 帖子:852 积分:6109 威望:0 精华:0 注册:2015/12/24 13:02:00
  发帖心情 Post By:2016/10/28 14:30:00 [只看该作者]

表结构和导入的表结构一样的话。。。用个for  next就可以了啊    帮助里给出的导入是默认为 Book.Sheets(0),就是第一个工作表,你要导入整个工作簿,前面加个循环就行了。。。 

for i as 。。。。
Book.Sheets(i)
next



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


加好友 发短信
等级:一尾狐 帖子:428 积分:4711 威望:0 精华:3 注册:2009/7/4 13:40:00
  发帖心情 Post By:2016/10/28 14:34:00 [只看该作者]

都是第一个工作表,只是文件夹中有30个各单位报上来的,不晓得怎么写代码了


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


加好友 发短信
等级:一尾狐 帖子:428 积分:4711 威望:0 精华:3 注册:2009/7/4 13:40:00
  发帖心情 Post By:2016/10/28 14:37:00 [只看该作者]

30个单位报上来的EXCEL的名字不一样,想的是全部导入到一个工作表


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


加好友 发短信
等级:四尾狐 帖子:852 积分:6109 威望:0 精华:0 注册:2015/12/24 13:02:00
  发帖心情 Post By:2016/10/28 14:38:00 [只看该作者]

以下是引用ybmjy在2016/10/28 14:34:00的发言:
都是第一个工作表,只是文件夹中有30个各单位报上来的,不晓得怎么写代码了
额   我理解错了,但是方法也有,如果30个表,那么把表名做成个数组,然后把依次读数组的值,把路径和数组的值合并,就是你要导入的表,后面导入的代码都可以在帮助里找得到
想要简单点,就把表名设成1 2 3......
然后for  next  就可以了。
至于如何读取路径,帮助里的代码变一下就可以了


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


加好友 发短信
等级:四尾狐 帖子:852 积分:6109 威望:0 精华:0 注册:2015/12/24 13:02:00
  发帖心情 Post By:2016/10/28 14:39:00 [只看该作者]

我好像记得帮助里还有代码 可以改成读取文件夹内,所有文件的名字。。。读取出来放一个数组里。。。。

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


加好友 发短信
等级:一尾狐 帖子:428 积分:4711 威望:0 精华:3 注册:2009/7/4 13:40:00
  发帖心情 Post By:2016/10/28 14:41:00 [只看该作者]

一下子蒙起了,不晓得咋个变通了图片点击可在新窗口打开查看

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


加好友 发短信
等级:四尾狐 帖子:852 积分:6109 威望:0 精华:0 注册:2015/12/24 13:02:00
  发帖心情 Post By:2016/10/28 14:44:00 [只看该作者]

http://www.foxtable.com/webhelp/
找到了
GetFiles,返回该目录下的所有文件名,然后for next 这个集合,然后在加上路径,然后再导入。。。

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


加好友 发短信
等级:一尾狐 帖子:428 积分:4711 威望:0 精华:3 注册:2009/7/4 13:40:00
  发帖心情 Post By:2016/10/28 14:52:00 [只看该作者]

那是不是这种写法
For Each File As String In FileSys.GetFiles("C:\")
  Dim mg As New Merger
mg.SourcePath = file
mg.Format = "excel" '指定格式
mg.SourceTableName = "订单" '指定要合并的表
mg.DataTableName = "订单" '指定接收数据的表
mg.Merge() '开始合并
Next

 回到顶部
总数 14 1 2 下一页