【问题标题】:How to read more than 256 columns from an excel file (2007 format) using OLEDB如何使用 OLEDB 从 excel 文件(2007 格式)中读取超过 256 列
【发布时间】:2010-05-04 15:03:59
【问题描述】:

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

Provider=Microsoft.ACE.OLEDB.12.0;数据源=c:\myFolder\myExcel2007file.xlsx;Extended Properties="Excel 12.0

【问题讨论】:

    标签: c# excel limit


    【解决方案1】:

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

    【讨论】:

    • 嗨,Thomas,除了将工作表分成命名范围之外,您能否提出另一种解决方案?谢谢
    • @HassanMokdad - 是的。您需要使用 OLEDB 以外的 Excel 引擎。例如,ExcelWriter、EPPlus、NPOI。这三个是免费的。还有其他由 SyncFusion 或 Aspose 等公司制造的引擎,这些引擎虽然要花钱,但都可以处理大于 256 列的建筑表。另一种选择是使用 OpenXml。
    【解决方案2】:

    无法使用 Oledb 导入超过 256 列的 excel 文件。 Oledb 只会返回前 255 列。

    请使用 ExcelDataReader DLL。它是一个轻量级的开源库,用于在 .NET 中读取 Microsoft Excel 文件。

    这是代码参考的ondrive链接:干杯!

    https://onedrive.live.com/?id=4B1F6C3E92F6522C%21257&cid=4B1F6C3E92F6522C&group=0&parId=4B1F6C3E92F6522C%21125&authkey=%21AMbQad-vwusjl-4&o=OneUp

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-02-14
      • 2015-07-16
      • 1970-01-01
      • 1970-01-01
      • 2011-04-27
      • 2012-10-28
      • 1970-01-01
      • 2013-11-20
      相关资源
      最近更新 更多