OLEDB query on Excel without headers: How do I spe

2019-05-30 06:28发布

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

标签: c# excel oledb
2条回答
爷、活的狠高调
2楼-- · 2019-05-30 07:07

This post put me onto the answer, Thanks! Just a minor clarification that kept me guessing for a while: In the above SELECT * FROM [Sheet1$G4:Z12] note that it is the sheet name not the number that goes into the part "Sheet1" E.g. "Changes", the $ that follows it vital and then no other $'s as might be used for excel ranges. In my case the full string reads: SELECT * from [Changes$A3:Z13]

查看更多
兄弟一词,经得起流年.
3楼-- · 2019-05-30 07:17

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#
查看更多
登录 后发表回答