如何一次性将一个文件夹中多个EXCEL导入到ACCESS中的一张表

比如文件夹内有100张EXCEL表,每个表格的第一行标题内容和格式完全一样,只是下面包含具体数值不一样,如何将这100张的excel中的数据合并到access中的一张表中?

举例
1.xls
学号 姓名 分数
1 李 98
2 王 90
3 张 80

2.xls
学号 姓名 分数
5 周 91
8 白 93
11 吴 89

合并后(access中表格)
学号 姓名 分数
1 李 98
2 王 90
3 张 80
5 周 91
8 白 93
11 吴 89
请教详细的写下步骤 谢谢答题者

1.在Access中创建对Excel工作簿的链接:在Access中选择“外部数据——导入——Excel”。

2.在“获取外部数据”对话框中选择“通过创建链接表来链接到数据源”。
必须为每个Excel工作簿重复该过程直到将它们都链接到数据库。结果如下图所示。

3.在SQL视图中开始新的查询,单击“创建——其他——查询设计”。

4.选择“查询工具-设计”中的“SQL视图”

5.在SQL视图中,为所有链接的Excel表输入Select语句,在每个Select语句间使用Union操作符,在SQL视图中输入选择查询语句。

6.运行查询后,结果将是包含从所有链接的文件中获取并合并后的数据。

只要链接的Excel文件在相同的位置,每次打开数据库时Access将自动刷新链接以获取最新数据。这意味着只需设置一次,然后在每次需要重新组合Excel文件时运行联合查询。
然而,默认情况下,UNION操作符会移除数据中的任何重复行。如果知道数据中有重复行,并且想保留它们,那么需要使用UNION ALL,以允许传递重复行。

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-09-02
工作思路:

首先应该将所有的工作表合并到一个工作簿中,然后将该工作簿中的所有工作表合并到同一张工作表中,将生成的新工作表保存后,转入access中,开始导入。

具体操作:采用VBA进行操作,具体操作为:在桌面新建一个工作簿,启动VBA编辑器,将代码粘贴进去,然后先后运行“合并工作簿——合并工作表——删除其他工作表——导出”四个宏,按照提示进行操作即可。

VBA代码可参见我的空间:
http://hi.baidu.com/37108201/blog/item/88b994602877d0c58cb10de6.html追问

不好意思 忘了说明白实际情况
实际情况是每张EXCEL表格的数据有几十万行,也没100张那么多,实际有十多张,上面只是打的比方,就是由于数据量过大(一张excel有50M左右大小),导致编辑修改等运行起来很慢,如果采用您说的“将该工作簿中的所有工作表合并到同一张工作表中”,光这一过程,我觉得就根本实现不了,因为累计几百万行的行数已经超过EXCEL2007的限制。依然很感谢您的热心帮助!

追答

如果按照你补充的情况来看,确实不能采用我说的方法,如果表不太多的话,建议手工导入
要不然就编程导入,情况就复杂点了,这里一句两句没法说明白的。

本回答被提问者采纳
第2个回答  2011-07-22
真有这么个题?一百张EXCEL表的数据?
偶只处理过表少的情况,把表复制到一起,然后导入就OK了。
还有一种情况,把表全导入,在ACCESS里追加到一个表里就行了。
真有一百个表,一次导入的,偶也学学。
第3个回答  2011-07-23
胡扯!Excel最大行数65536,哪来几十万行的数据?追问

excel 2007

相似回答