excel - 使用 ADO 从 Excel 读取数据的空值

标签 excel vba excel-2007 ado

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

相关文章:

excel - 如何从 VBA 在 Excel 2010 中创建安全受密码保护的 .xls 文件

python - curve_fit、python和excel之间的幂律回归问题

Excel:向 XY 图表中的数据点添加标签

java - 使用 apache poi (.xlsx) 的 excel 2007 无法读取内容

algorithm - 是否可以从 Excel 中的多行中获取平均值?

Excel 电子表格无法控制地向右滚动

excel - 将数据从一张表复制到另一张表的最有效的 vba 方法

vba - 创建从 Excel 流程图到 MS Word 标题的超链接

ms-office - Excel 2007 : How to display mm:ss format not as a DateTime (e. g。 73 :07)?

excel - 计算excel行中的连续条纹