将 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 数据库的主要内容,如果未能解决你的问题,请参考以下文章

将 MS Excel 链接到 MS Access 查询

将 Excel 中的动态和静态范围导入到 MS-Access 中,而不是从单元格 A1 开始

VBA Excel - 从 MS Access 将列名保存到电子表格

VBA将Excel电子表格逐行导入Access

将 Excel 中的两列导入现有的 Access2010 表中使用转移电子表格时出错

从 MS Access 表单中的动态列表框创建新的 Excel 电子表格