Access数据库 - 即使使用IMEX = 1,从Excel工作表导入数据也无法正常工作

时间:2012-01-10 21:09:28

标签: database excel ms-access

我正在创建一个ACCESS应用程序,其中一个步骤是将数据从Excel电子表格导入到数据库中。一切都很好,但是,如果有不同类型的值(即字符串,数字),ACCESS只导入一种类型。

  1. Excel电子表格包含一个包含以下数据的列
  2. enter image description here

    当我使用以下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 个答案:

答案 0 :(得分:2)

为什么不使用TransferSpreadsheet?

 DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeExcel12Xml, _
      "SheetX", "C:\docs\XL.xlsx", True, "Sheet3$"

否则,您可能需要篡改注册表。