ADODB Excel 连接找不到工作表

ADODB Excel Connection cannot find a Worksheet

我有一个 vba 函数,它使用 ADODB 连接连接到同一个工作簿。但是,它仅适用于某些工作表。如果我尝试查询确实存在的工作表,则会 returns 出错。但是,其他工作表工作正常。 我的代码如下:

Function runExcelQuery(wk As Workbook, strQuery As String) As ADODB.Recordset
    Dim cnn As ADODB.Connection
    Set cnn = New ADODB.Connection
    Dim rst As ADODB.Recordset
    Set rst = New ADODB.Recordset
    Dim connectionString As String
    'Setup the connection string for accessing Excel
    connectionString = "Provider=Microsoft.ACE.OLEDB.12.0;" & _
        "Data Source=" & wk.FullName & _
        ";Extended Properties=""Excel 12.0 Macro;HDR=YES"";"
    cnn.Open connectionString
    cnn.CommandTimeout = 0
    rst.Open strQuery, cnn
    Set runExcelQuery = rst
Exit Function

好吧,经过大量挖掘,我发现问题实际上是 sheet 上的行数。如果它大于 65k 行,则必须以不同的方式编写查询才能工作。

这个 Post: Excel as database - query more than 65536 rows? 应该提供更多细节。