如何阅读超过65535行的Excel 2007电子表格?

时间:2010-10-19 18:54:05

标签: c# excel select excel-2007 oledb

这是我的连接字符串的样子..

m_conn = new OleDbConnection(String.Format("Provider=Microsoft.ACE.OLEDB.12.0;Data Source={0};Extended Properties=" + (char)34 + "Excel 12.0;HDR=YES" + (char)34, m_fileName));

当我选择时,我只返回65535行,但我知道excel电子表格至少有100,000行。我如何阅读其余行。注意我现在必须使用OLEDB,没有第三方工具。

非常感谢!

编辑:这些是我正在使用的Excel 2007/2010文件

edit2:如果我执行“Select * from worksheet”而不是“Select * from worksheet WHERE something”,我似乎可以实际选择电子表格中的所有行

我想当你实现一个WHERE子句时,结果行的上限为65535

3 个答案:

答案 0 :(得分:1)

如果您只想阅读Excel文件,我建议您尝试使用开源Excel Data Reader

答案 1 :(得分:1)

根据我的经验,Excel工作表限制为65535行(Excel到2003年,我不知道2007版本。)

编辑#1

我的猜测是,OleDB数据提供程序可能需要更新才能更正因此Excel限制更改而发出的此问题。

答案 2 :(得分:0)

您应该打开这些文件,并在关闭兼容模式的情况下保存它们。您的查询将获得超过64k。