我正在使用 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/