将 Excel 电子表格导入 MS Access 数据库
Posted
技术标签:
【中文标题】将 Excel 电子表格导入 MS Access 数据库【英文标题】:Import Excel spreadsheet into MS Access Database 【发布时间】:2016-01-07 12:36:03 【问题描述】:与post 类似,我需要使用查询将数据从 excel 电子表格导入新的访问表
是否有类似于此查询的内容用于导入访问数据库
INSERT INTO [tblTemp] ([Column1], [Column2], [Column3], [Column4])
SELECT A.[Column1], A.[Column2], A.[Column3], A.[Column4]
FROM OPENROWSET
('Microsoft.Jet.OLEDB.4.0', 'Excel 8.0;Database=D:\Excel.xls;HDR=YES', 'select * from [Sheet1$]') AS A;
【问题讨论】:
【参考方案1】:你可以像这样使用查询:
SELECT [Column1], [Column2], [Column3], [Column4]
INTO [tblTemp]
FROM [Worsheet1$A2:D122] IN 'D:\Excel.xls' [Excel 8.0;HDR=YES;IMEX=0]
WHERE [Column1] is Not Null;
【讨论】:
哇好棒!!我可以对 xlsx 中的整个工作表执行此操作。“SELECT * FROM [sheet1$] IN 'D:\Data_Pull_FINAL.xlsx' [Excel 8.0;HDR=YES;IMEX=0] 我正在另一个已关闭的 Excel 文件上运行查询。在运行查询时,它也会打开文件。我可以防止这种情况吗? 没关系。像这样修复它"Set objfile = Workbooks.Open(StrFile1) StrSql = "SELECT * into tmp FROM [" & objfile.Sheets(1).Name & "$] IN '" & StrFile1 & "' [Excel 8.0;HDR=YES;IMEX=0]" Con.Execute StrSql objfile.Close False
使用不同顺序的参数,此格式也适用:FROM [Excel 12.0 Xml;HDR=YES;IMEX=2;ACCDB=YES;DATABASE=C:\Filename.xlsx].[Sheet1$];
以上是关于将 Excel 电子表格导入 MS Access 数据库的主要内容,如果未能解决你的问题,请参考以下文章
将 Excel 中的动态和静态范围导入到 MS-Access 中,而不是从单元格 A1 开始
VBA Excel - 从 MS Access 将列名保存到电子表格