我帮助和建议使用Oledb的大型Excel文件

问题描述 投票:-1回答:1

所以我是Oledb的新手,我有一个项目要求我使用控制台应用程序从excel文件中获取数据。 excel文件有大约500列和55行。我怎么可能从传递255的列中获取数据?

c# buffer oledb oledbconnection
1个回答
0
投票

为了读取列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驱动器在很大程度上是相当不错的,但它确实依赖于形状良好的板材。混合数据类型处理得不是很好,如果第一列/行是空的,它会很奇怪,但除此之外它没什么问题。我经常使用它。

© www.soinside.com 2019 - 2024. All rights reserved.