【问题标题】:Library to write an Excel file用于编写 Excel 文件的库
【发布时间】:2011-03-22 11:05:34
【问题描述】:

我正在使用 Microsoft Excel 互操作库来导出 Excel 文件。但是,这个库的限制是:

  • 要求用户的计算机必须有 Microsoft Excel。
  • 编写内容时,必须打开 Microsoft Excel 以实现自动化。
  • 要保存文件,用户必须手动操作:点击文件 -> 保存。

我需要一个图书馆:

  • 以 Excel 格式将内容写入内存。
  • 以编程方式将此内容保存到文件中。

注意事项:我使用 .net 2.0 和 C#。

谢谢。

【问题讨论】:

  • 我有几个项目,其中“Excel 格式”的意思是“我可以在 Excel 中打开的文件”,而分隔文本是一个简单的解决方案。
  • 对。但至少我可以在 Excel 2003 中打开它。谢谢。

标签: c# .net excel


【解决方案1】:

我使用 EPPlus 进行 .xlsx 读/写,效果很好

【讨论】:

  • +1 我也用过。编写 > 65k 行的 Excel 电子表格轻而易举。
  • .xlsx 是否与 Excel 2003 兼容?我需要一个可以用 Microsoft Excel 2003 打开的 Excel 格式。谢谢。
  • 如果您安装了 Microsoft 兼容包,Excel 2003 可以打开 .xlsx 文件:office.microsoft.com/en-us/support/…
【解决方案2】:

我认为在不安装 Excel 的情况下实现此目的的唯一方法是直接编写文件格式。微软几年前记录了文件格式。你可以在http://msdn.microsoft.com/en-us/library/cc313118.aspx找到他们。

更新 我刚刚找到了 EPPlus。查看http://epplus.codeplex.com/

【讨论】:

    【解决方案3】:

    您可以使用 ODBC 或 OLE 连接器来读取和写入 Excel 文件。但是,我不确定您是否可以使用它创建文件,您可能需要保留一个具有正确布局的虚拟文件。

    更新:据@Joel Gauvreau 在下面的评论,可以使用这种技术创建一个 excel 文件。

    链接: http://support.microsoft.com/kb/257819

    http://www.codeguru.com/cpp/data/mfc_database/microsoftexcel/article.php/c1131

    【讨论】:

    • 这就是我正在做的,您可以创建一个具有正确布局的空文件,将原始数据转储到工作表中。如果需要,您可以创建一些链接到此数据的漂亮工作表。它运作良好。该文件不需要存在,但是如果您不使用现有文件,则必须先创建架构。
    • @Joel 谢谢,我不确定这是否可能。我会在答案中添加您的回复。
    • 使用可以预先格式化的现有文件的结果要好得多。通过使用 OleDbConnection 创建文件,您只需获得一个简单的数据列表。
    • 这个答案非常概括:stackoverflow.com/questions/151005/…
    猜你喜欢
    • 1970-01-01
    • 2023-03-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多