我正在使用 ADO 从 Excel 2007 电子表格中读取数据。建立连接很容易:

Dim ado As ADODB.Connection
Set ado = CreateObject("ADODB.Connection")
ado.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=myFilename.xlsx;Extended Properties=""Excel 12.0 Xml;HDR=NO;IMEX=1"";"
ado.Open

我可以在这个对象上毫无问题地调用 ado.OpenSchema。但是,当我尝试查询数据时:
Dim rs As ADODB.recordSet
Set rs = ado.Execute("SELECT * FROM [Current Work Load$]")

我只是得到一张满是 Null 的表。

这是 Microsoft Support site 上的一个问题 - 但我已经明确启用了“导入模式”(如您在上面的代码中看到的 - IMEX=1 )。

最佳答案

Execute 方法不会像操作查询那样返回任何记录。
您可能想尝试 OpenRecordset 方法。

Dim rs As ADODB.recordSet
Set rs = ado.OpenRecordset("SELECT * FROM [Current Work Load$]")

关于excel - 使用 ADO 从 Excel 读取数据的空值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1093330/

10-10 16:30