Access 数据库 - 即使使用 IMEX=1 从 Excel 工作表导入数据也无法正常工作
Posted
技术标签:
【中文标题】Access 数据库 - 即使使用 IMEX=1 从 Excel 工作表导入数据也无法正常工作【英文标题】:Access Database - Importing Data From Excel Sheet Does Not Work Correctly Even With IMEX=1 【发布时间】:2012-01-10 21:09:28 【问题描述】:我正在创建一个 ACCESS 应用程序,其中一个步骤是将数据从 Excel 电子表格导入数据库。一切都很好,但是,如果有不同类型的值(即字符串、数字),则 ACCESS 只导入一种类型。
-
Excel 电子表格有一列包含以下数据
:
当我使用以下 ACCESS 代码时,只有在这种情况下的数字会从工作表中提取出来。其他的像 CCH 没有被提取。如果假设第一个单元格的值是 CCH,那么只有这些会被提取,数字不会:
Dim ConnectString As String
ConnectString = "Provider=Microsoft.Jet.OLEDB.4.0;" & "Data Source=" & FilePath & ";" & "Extended Properties=""Excel 8.0;HDR=Yes;IMEX=1"";"
objConnection.Open ConnectString
objRecordset.Open "Select * FROM [Sheet1$]", objConnection, adOpenStatic, adLockOptimistic
Do Until objRecordset.EOF
Code = objRecordset.Fields.ITEM(0)
' ===== More code Here ==== '
Loop
我该如何解决这个问题?
感谢您的帮助
【问题讨论】:
【参考方案1】:为什么不转移电子表格?
DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeExcel12Xml, _
"SheetX", "C:\docs\XL.xlsx", True, "Sheet3$"
否则,您可能需要篡改注册表。
【讨论】:
我更喜欢篡改注册表。我搜索了 TypeGuessRows 并将其更改为 0。现在效果很好。非常感谢。以上是关于Access 数据库 - 即使使用 IMEX=1 从 Excel 工作表导入数据也无法正常工作的主要内容,如果未能解决你的问题,请参考以下文章
ACE.OLEDB 链接字符串:关于Excel导入的HDR=YES; IMEX=1
IMEX=0 的 Excel ADODB 查询不从第一行返回数据
关于OleDB连接Excel的Extended Properties(扩展属性)HDR=YES; IMEX=2个人理解心得