所以我是Oledb的新手,我有一个项目要求我使用控制台应用程序从excel文件中获取数据。 excel文件有大约500列和55行。我怎么可能从传递255的列中获取数据?
为了读取列256 - >,您只需要修改Select语句。默认情况下,Microsoft.ACE.OLEDB.12.0和Microsoft.Jet.OLEDB.4.0驱动程序都将从1-255行(A-> IU)读取,但您可以通过在Select上指定它们来要求它读取剩余的列。声明。
要读取下一个255列并将“Sheet1”作为工作表名称,您将指定...
Select * From [Sheet1$IV:SP]
即使没有其他255列,这也可以工作。如果有1 ... 255个额外的列,它将简单地返回下一列的列。
顺便提一下,Microsoft.ACE.OLEDB.12.0驱动程序将读取.xls和.xlsx,.xlsm等的任何变体,而不更改“Excel 12.0”的扩展属性。没有必要if ... then ...否则连接字符串取决于文件类型。
OLEDB驱动器在很大程度上是相当不错的,但它确实依赖于形状良好的板材。混合数据类型处理得不是很好,如果第一列/行是空的,它会很奇怪,但除此之外它没什么问题。我经常使用它。