以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助]如何将一个文件夹中的所有EXCEL合并或导入到一个表中 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=92196) |
-- 作者:ybmjy -- 发布时间:2016/10/28 14:02:00 -- [求助]如何将一个文件夹中的所有EXCEL合并或导入到一个表中 如题,要合并或导入的表结构都相同,怎么写代码。有30个单位,名称都不一样。 [此贴子已经被作者于2016/10/28 14:05:57编辑过]
|
-- 作者:ybmjy -- 发布时间:2016/10/28 14:23:00 -- 顶一下 |
-- 作者:18523982317 -- 发布时间:2016/10/28 14:30:00 -- 表结构和导入的表结构一样的话。。。用个for next就可以了啊 帮助里给出的导入是默认为 Book.Sheets(0),就是第一个工作表,你要导入整个工作簿,前面加个循环就行了。。。 for i as 。。。。 Book.Sheets(i) next
|
-- 作者:ybmjy -- 发布时间:2016/10/28 14:34:00 -- 都是第一个工作表,只是文件夹中有30个各单位报上来的,不晓得怎么写代码了 |
-- 作者:ybmjy -- 发布时间:2016/10/28 14:37:00 -- 30个单位报上来的EXCEL的名字不一样,想的是全部导入到一个工作表 |
-- 作者:18523982317 -- 发布时间:2016/10/28 14:38:00 -- 以下是引用ybmjy在2016/10/28 14:34:00的发言: 都是第一个工作表,只是文件夹中有30个各单位报上来的,不晓得怎么写代码了 额 我理解错了,但是方法也有,如果30个表,那么把表名做成个数组,然后把依次读数组的值,把路径和数组的值合并,就是你要导入的表,后面导入的代码都可以在帮助里找得到 想要简单点,就把表名设成1 2 3...... 然后for next 就可以了。 至于如何读取路径,帮助里的代码变一下就可以了 |
-- 作者:18523982317 -- 发布时间:2016/10/28 14:39:00 -- 我好像记得帮助里还有代码 可以改成读取文件夹内,所有文件的名字。。。读取出来放一个数组里。。。。 |
-- 作者:ybmjy -- 发布时间:2016/10/28 14:41:00 -- 一下子蒙起了,不晓得咋个变通了 |
-- 作者:18523982317 -- 发布时间:2016/10/28 14:44:00 -- http://www.foxtable.com/webhelp/ 找到了 用GetFiles,返回该目录下的所有文件名,然后for next 这个集合,然后在加上路径,然后再导入。。。
|
-- 作者:ybmjy -- 发布时间: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 |