这是我的连接字符串的样子..
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
答案 0 :(得分:1)
如果您只想阅读Excel文件,我建议您尝试使用开源Excel Data Reader。
答案 1 :(得分:1)
根据我的经验,Excel工作表限制为65535行(Excel到2003年,我不知道2007版本。)
编辑#1
我的猜测是,OleDB数据提供程序可能需要更新才能更正因此Excel限制更改而发出的此问题。
答案 2 :(得分:0)
您应该打开这些文件,并在关闭兼容模式的情况下保存它们。您的查询将获得超过64k。