Как получить данные из Excel с подключением ADODB, если в первой строке таблицы нет названия столбца?

Я использую следующий тип кода для извлечения данных из некоторых книг 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)

Вы можете запросить диапазон ячеек, начиная со строки 10:

 "SELECT * FROM [Worksheet$A10:S100] WHERE [Thing1] > 1"

Что может быть сложным, так это найти конец диапазона. Вы могли бы добавить смехотворно большое количество, но тогда выЯ должен добавить специальную обработку для строк NULL в конце.

strQuery = "SELECT * FROM MyRange"

strQuery = "SELECT * FROM [Sheet1$A1:B10]"

См. Эти статьи поддержки Microsoft для получения дополнительной информации:

Как использовать ADO с данными Excel из Visual Basic или VBA

ExcelADO демонстрирует, как использовать ADO для чтения и записи данных в книгах Excel

Решение Вопроса

Видеть этоСтраница Microsoft, Вы можете использовать что-то вроде:

strSQL = "SELECT [Field1], [Field2] FROM [Worksheet$A10:B43] WHERE [Thing1] > 1"
 kb_sou19 окт. 2012 г., 20:04
Это сработало хорошо, спасибо!

Ваш ответ на вопрос