【问题标题】:Easily read Excel in C#?在 C# 中轻松读取 Excel?
【发布时间】:2011-10-19 00:35:30
【问题描述】:

我尝试过使用 OleDb 驱动程序 LinqToExcelExcel Data Reader 来读取 .xls 文件,但它们似乎都有非常烦人的限制。如果 excel 文件具有 phantom columns,LinqToExcel 和 OleDb 驱动程序都会抛出“定义的字段过多”错误消息。 Excel 数据阅读器引发了未定义的异常,我一直无法深入了解。

是否有任何“正常工作”并且可以处理格式稍有错误的 excel 文件的 excel 驱动程序?

商业软件包就可以了。我目前的要求只指定从单元格中读取日期和文本,但更复杂的功能将是一个加分项。

[编辑]

需要同时支持 XLS 和 XLSX 文件格式。

【问题讨论】:

  • 您需要支持 .XLS 文件,还是只支持 .XLSX?如果是后者,那么您还有其他选择。
  • 不幸的是,我需要同时支持两者。 :-/ 希望不是这样。
  • 好的,Open SDK 2.0 仅适用于 .XLSX 文件。

标签: c# excel


【解决方案1】:

我可以推荐Aspose.CellsFlexcel...没有尝试SpreadsheetGear,但听到+阅读了很多关于它的好东西...

免费选项(尽管仅适用于较新的 xlsx 格式!)是OpenXML 2 from MS

【讨论】:

  • 我现在正在使用 Flexcel,到目前为止它运行良好。而且价格合适。如果将来需要更高级的功能,将牢记 SpreadsheetGear。感谢您的帮助!
【解决方案2】:

试试Epplus excel 的开源库

【讨论】:

  • 嗨 Emmanuel,我忘了在最初的帖子中提到它需要同时支持 XLS 和 XLSX。
【解决方案3】:

即使我还没有尝试,this project seems interesting。它特别适用于写作,但它甚至适用于阅读。不幸的是,它接受新的 xslx 格式。

【讨论】:

    【解决方案4】:

    我以前使用过 SpreadSheetGear。您必须付费,但它非常适合我的需求,并且可以很好地处理不同的文件格式。

    我测试了其他一些库,但 SSG 在我保存文件副本时在保持文件保真度方面效果最好,但随后我的文件有大量数据验证和控制等。对于更简单的文件,还有一系列其他选项。

    【讨论】:

      【解决方案5】:

      如果一切都失败了,您可以编写一个 Excel 宏,如果需要,从 C# 中调用该宏。我不确定你是否需要它,因为你没有给出任何理由在 C# 中这样做

      另一种获取数据的方法是使用互操作程序集,自从动态关键字出现在 C# 4 中以来,它变得更加容易

      【讨论】:

        猜你喜欢
        • 2010-09-25
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-07-23
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多