Search code examples
c#exceloledb

OLEDB query on Excel without headers: How do I specify Columns?


I need to be able to handle Excel files versions 97 - 2010 and also those with and without header info.

Don't need help with connection strings : that works.

What I do need help with is querying worksheets that do not have header information i.e. no descriptor of a column's data in the first row. How do I refer to these columns in the OLEDB query? I've tried the following

"Select [Sheet2$A] from [Sheet2$]"  //selecting Column A
"Select [Sheet2$A$] from [Sheet2$]"  //selecting Column A

Solution

  • Refer to the columns as F1, F2, ... Fn, numbering from the first selected column.

    SELECT * FROM [Sheet1$G5:Z12]
    

    g5 = row 1, column F1.

    So:

    SELECT * FROM [Sheet1$G5:Z12]
    WHERE F2 = 'abc' AND F3 > #2011/01/31#