我试图用C#中的OLEDB导入超过256列的excel文件。我尝试了各种各样的东西,但似乎无法从excel(2007格式)文件中读取超过256列。我想知道这是一个错误还是我只是错过了一些东西。这是我使用的连接字符串:如何使用OLEDB从excel文件(2007格式)读取多于256列
提供商= Microsoft.ACE.OLEDB.12.0;数据源= C:\ MyFolder文件\ myExcel2007file.xlsx;扩展属性=“Excel中12.0
我试图用C#中的OLEDB导入超过256列的excel文件。我尝试了各种各样的东西,但似乎无法从excel(2007格式)文件中读取超过256列。我想知道这是一个错误还是我只是错过了一些东西。这是我使用的连接字符串:如何使用OLEDB从excel文件(2007格式)读取多于256列
提供商= Microsoft.ACE.OLEDB.12.0;数据源= C:\ MyFolder文件\ myExcel2007file.xlsx;扩展属性=“Excel中12.0
这是关于限制Jet OLEDB驱动程序。可能工作的一种解决方案(即我没有尝试过)将分解成不超过255列的命名范围,并分别查询每个(例如Select * From RangeName
),然后合并结果到一个单一的数据表
您好托马斯,你能否提出另一个解决方案,而不是将表单分成命名范围?谢谢 – 2013-05-14 17:24:38
@HassanMokdad - 是的。您需要使用OLEDB以外的Excel引擎。例如,ExcelWriter,EPPlus,NPOI。这三个是免费的。还有像SyncFusion或Aspose这样的公司生产的其他发动机,这些发动机都需要花钱,但所有的发动机都可以处理大于256列的建筑板材。另一种选择是使用OpenXml。 – Thomas 2013-05-14 20:19:55
非常感谢!我用EPPlus和它的惊人的,谢谢 – 2013-05-15 07:33:16
使用Oledb导入一个超过256列的excel文件是不可能的Oledb将只返回前255列
请使用ExcelDataReader DLL。它是一个轻量级开放源代码库,用于在.NET中读取Microsoft Excel文件。
这里是代码参考的ondrive链接:干杯!
你在做SELECT *吗? – 2010-05-04 15:06:24