2010-05-04 62 views
3

我试图用C#中的OLEDB导入超过256列的excel文件。我尝试了各种各样的东西,但似乎无法从excel(2007格式)文件中读取超过256列。我想知道这是一个错误还是我只是错过了一些东西。这是我使用的连接字符串:如何使用OLEDB从excel文件(2007格式)读取多于256列

提供商= Microsoft.ACE.OLEDB.12.0;数据源= C:\ MyFolder文件\ myExcel2007file.xlsx;扩展属性=“Excel中12.0

+0

你在做SELECT *吗? – 2010-05-04 15:06:24

回答

3

这是关于限制Jet OLEDB驱动程序。可能工作的一种解决方案(即我没有尝试过)将分解成不超过255列的命名范围,并分别查询每个(例如Select * From RangeName),然后合并结果到一个单一的数据表

+0

您好托马斯,你能否提出另一个解决方案,而不是将表单分成命名范围?谢谢 – 2013-05-14 17:24:38

+2

@HassanMokdad - 是的。您需要使用OLEDB以外的Excel引擎。例如,ExcelWriter,EPPlus,NPOI。这三个是免费的。还有像SyncFusion或Aspose这样的公司生产的其他发动机,这些发动机都需要花钱,但所有的发动机都可以处理大于256列的建筑板材。另一种选择是使用OpenXml。 – Thomas 2013-05-14 20:19:55

+0

非常感谢!我用EPPlus和它的惊人的,谢谢 – 2013-05-15 07:33:16

相关问题