使用 vba 将 xls/csv 文件插入到 access 2007 表中
Posted
技术标签:
【中文标题】使用 vba 将 xls/csv 文件插入到 access 2007 表中【英文标题】:insert xls/csv file into access 2007 table using vba 【发布时间】:2010-10-06 10:19:12 【问题描述】:我有几个excel文件,90列500行左右,每个文件有4行表头,需要插入到一张访问表中。
我可以通过使用 for...loop 循环所有 excel 文件和文件中的所有行来进行导入,但这太慢了。
我在 R 中使用了 mysql,可以使用“LOAD DATA LOCAL INFILE”轻松完成。我可以毫无问题地将 xls 文件转换为 csv 文件,但在 Access 中找不到与“LOAD DATA LOCAL INFILE”类似的任何内容。
对优化导入过程有什么建议吗?谢谢!
【问题讨论】:
【参考方案1】:我猜你正在寻找TransferSpreadsheet。 您可以导入数据或链接它。
【讨论】:
【参考方案2】:http://msdn.microsoft.com/en-us/library/aa141565%28office.10%29.aspx
如上所述,这就是您要查找的内容。
如果 4 行表头有问题,您可以运行创建具有正确表头的表,运行删除查询,删除表中的所有内容,然后将不带表头的导入到已经存在的表中。 下面的代码是我用来删除第一行的代码,您可以简单地编辑它以删除 4 行。这在 Excel VBA 中使用。在您的 Access 模块中,只需将 Excel 设置为对象并运行以下命令。
标题代码:
Application.DisplayAlerts = True
Workbooks.Open Filename:= _
"Excel File here"
Rows("1:1").Select
Selection.Delete Shift:=xlUp
ActiveWorkbook.Save
ActiveWorkbook.Close
RE:您的转帐电子表格不起作用,为什么您的表格已经创建? 我正在使用如下代码并且它工作正常:
DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeExcel9, "TABLENAME", "IMPORT PATH", False
你能告诉我任何错误/任何你不明白的地方,我会尽力提供帮助。上面代码末尾的错误是为了确保你没有使用标题。如果您想导入标题行,请将其更改为 True。
【讨论】:
我想我用错了“headers”这个词,我的意思是:我先有3行垃圾,然后是列名,然后是数据。仍在 TransferSpread 上苦苦挣扎,它一直告诉我找不到该表,但我已经创建了它。 嗨,你能看到我的编辑,让我知道这是否适合你。如果没有,您能否提供您收到的错误信息。以上是关于使用 vba 将 xls/csv 文件插入到 access 2007 表中的主要内容,如果未能解决你的问题,请参考以下文章
用Java将Excel的xls和xlsx文件转换成csv文件的方法, XLS2CSV, XLSX2CSV
这个简单、易于实现的库可以将HTML表导出为xlsx、xls、csv和txt文件。
在 Java 中将 JSON 转换为 XLS/CSV [关闭]