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

这是我的连接string看起来像..

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)); 

当我做一个select,我只得到65535行,但我知道Excel电子表格至less有100,000。 我如何阅读其余的行。 注意我必须使用OLEDB,现在没有第三方工具。

非常感谢!

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

编辑2:似乎我实际上可以select电子表格中的所有行,如果我做了“从工作表中select*”而不是“从工作表中select* WHERE的东西”

我想当你实现一个WHERE子句时,结果行被限制在65535

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

编辑#1

我的猜测是OleDB数据提供者可能需要一个更新来纠正这个Excel的限制发生变化的问题。

如果您只想读取Excel文件,我build议您尝试使用开源Excel数据读取器 。

您应该打开这些文件并保存兼容模式closures。 在您的查询中,您将获得超过64k。