ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 6337|回复: 9

[求助] 如何批量导入EXCEL表,并且ACCESS默认将EXCEL表名命名为数据表名

[复制链接]

TA的精华主题

TA的得分主题

发表于 2011-5-12 16:18 | 显示全部楼层 |阅读模式
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
我有很多EXCEL表,都在同一文件夹下。并且文件名很规律,即类似A01,A02,A03等。导入时一个一个导入工程太大了,我导入一天才导完一年的,可是有好几年的表。。。。想问问有没有什么好方法;另外就是导入后命名ACCESS默认的怎么不是EXCEL表的表名,还得一个一个改!在access中怎么样快速修改导入后的EXCEL表名

TA的精华主题

TA的得分主题

发表于 2011-5-12 16:45 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2011-5-12 18:05 | 显示全部楼层
以下供参考:

如何指定TransferSpreadsheet方法中工作簿中的工作表

TransferSpreadsheet的语法:
  Docmd.TransferSpreadsheet TransferType, SpreadsheetType, TableName, FileName, HasFieldNames, Range, UseOA  

  针对Excel,其中Range的用法如下:

  ""(空字符串):表示工作簿的第一个工作表;

  "Sheet1!A1:D10":表示工作表Sheet1的A1到D10区域;

  "Sheet2!":表示整个Sheet2工作表。

  将Book1的Sheet1和Sheet2用TransferSpreadsheet方法导入Access mdb中。

  Docmd.TransferSpreadsheet acImport, , "temp1", "C:“Book1.xls", False, "Sheet1!"

  Docmd.TransferSpreadsheet acImport, , "temp2", "C:“Book1.xls", False, "Sheet2!"

TA的精华主题

TA的得分主题

发表于 2011-5-12 22:47 | 显示全部楼层

回复 1楼 lwbu571 的帖子

可以加上FileDialog文件拾取器,批量读取文件名,再用必要的方法导入即可。LS的TransferSpreadsheet是一种;ADO也是一种;Docmd.RunSQL也可以。具体应该看源文件。
其实个人觉得属于标准格式的话,链接文件,然后用联合查询方式汇总全部数据,再追加到主表会好些。

TA的精华主题

TA的得分主题

 楼主| 发表于 2011-5-13 08:00 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助

谢谢楼上的建议

其实等了那么多天,也想明白了,批量重要文件还是得一个一个来,可以看清数据结构和特征,容易发现错误。免得用了之后出问题就严重了,大不了加点班。最原始的还是最可靠的。

TA的精华主题

TA的得分主题

发表于 2011-5-13 22:06 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助

回复 5楼 lwbu571 的帖子

安全第一。学习marco的方法

TA的精华主题

TA的得分主题

发表于 2011-5-14 22:19 | 显示全部楼层

TA的精华主题

TA的得分主题

 楼主| 发表于 2011-5-15 14:53 | 显示全部楼层

当然啦,还是谢谢3楼和4楼

不过还是得提醒和我当初有一样想法的,若果EXCEL结构不规范,例如同一列有数字,有字母,或者存在合并单元格的话是不要指望能直接在数据库里用了

TA的精华主题

TA的得分主题

 楼主| 发表于 2011-11-22 08:58 | 显示全部楼层
SELECT * FROM [Excel 8.0;DATABASE=E:\桌面\测试数据.xls].[Sheet1$]"
access2007时写查询,可正常获取2003,2007excel;但是换到个人笔记本提示ISAM错误,估计可能是盗版缘故

TA的精华主题

TA的得分主题

发表于 2014-3-21 09:41 | 显示全部楼层
marco 发表于 2011-5-12 18:05
以下供参考:

如何指定TransferSpreadsheet方法中工作簿中的工作表

学习了,有个问题,这种方法可以导入,但是是导入成本地表,有没有方法导入成链接表
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-12-27 13:46 , Processed in 0.041450 second(s), 9 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表