如何在没有列名的情况下,通过ADODB连接从Excel检索数据?

4

我使用以下代码类型从一些Excel工作簿中检索数据(路径是一个参数)

Dim strSQL  As String, conStr as String
Dim cnn As New ADODB.Connection
Dim rs As New ADODB.Recordset


conStr = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source='" & path & "';" & _
             "Extended Properties=""Excel 12.0;HDR=YES;IMEX=1;"";"

strSQL = "SELECT [Field1], [Field2] FROM [Worksheet$] WHERE [Thing1] > 1"

cnn.open conStr   
rs.Open query, cnn, adOpenStatic, adLockOptimistic, adCmdText

如果字段名称在工作表的第一行,那么该代码可以正常工作。问题是我需要从数据表开始于另一行(第10行)的工作表中检索数据。

有没有办法指定我的数据表的第一行?

3个回答

5
请参考这个微软页面。您可以使用类似以下的方法:
strSQL = "SELECT [Field1], [Field2] FROM [Worksheet$$A10:B43] WHERE [Thing1] > 1"

5

2
您可以查询从第10行开始的一系列单元格:
 "SELECT * FROM [Worksheet$A10:S100] WHERE [Thing1] > 1"

在IT技术中,有时候很难确定范围的结尾应该是什么。你可以输入一个非常大的数字,但这样就必须添加特殊处理来处理末尾的NULL行。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接