【问题标题】:Creating a excel file with Microsoft.Office.Interop.Excel without Excel installed [closed]在未安装 Excel 的情况下使用 Microsoft.Office.Interop.Excel 创建 excel 文件 [关闭]
【发布时间】:2013-10-16 13:31:10
【问题描述】:

我已经创建了一种在 C# 中生成 excel 文件的方法,并且效果很好。但在所有开发之后,我们开始质疑自己是否有可能在未安装 Office 的机器上创建这些文件。我搜索了几遍,都没有找到。

那么,有没有人知道在机器上不安装 Excel 而是使用 Interop DLL 和 OFFICE.dll 来生成 excel 文件的方法?

如果没有办法做到这一点,是否有任何图书馆可以做到这一点?

【问题讨论】:

  • 如果没有安装office,就没有可以使用的DLL。那么你认为这怎么可能奏效呢?您当然不能随您的产品附带该 DLL。您将不得不使用另一个库来创建 Excel 文件,但这很可能意味着您将不得不重写大部分代码
  • 关于未安装 Office 的类似问题。 stackoverflow.com/questions/1369361/…

标签: c# excel


【解决方案1】:

这个库在没有安装办公室的情况下工作:http://epplus.codeplex.com/ 我用过几次,效果很好。

【讨论】:

    【解决方案2】:

    我个人使用这个库:https://code.google.com/p/excellibrary/ 工作得很好!

    【讨论】:

    • 谢谢帕斯卡兹。我也会尝试您的解决方案,但我将其标记为 user2316005 的答案,因为他首先回答。 :)
    【解决方案3】:

    我用过NPOI。它免费而且非常好。对于大多数人来说,下面的缺点并不是什么大问题,我相信它们会在以后开发,所以我把它们放在这里只是为了帮助考虑。

    目前我遇到的小问题是:

    • 您不能轻易“转置”您的数据。
    • 您无法轻松插入列。

    插入行没问题,但您必须编写自己的自定义功能来插入列或转置。我敢肯定还有其他限制,但我还没有遇到过。总的来说,如果这是我仅有的两个问题,我不会抱怨(特别是考虑到我已经为自己的目的充分解决了这些问题)。

    如果我必须在某个时候再次导出,我可能会尝试Office OpenXML 库。但我不确定这是否需要您在传输之前将文件存储在服务器上(或在服务器上安装办公室)。如果其中任何一个是真的,我不得不亲自说不。这就是我没有使用 Excel 包的原因(在其他答案中链接)。不确定它是否已更改,但当我研究它时,您必须在传输之前将文件存储在服务器上。

    【讨论】:

      【解决方案4】:

      您不必安装 Excel 所需的所有 Microsoft Office 2010 主要互操作程序集。
      您可以从以下位置下载它们:

      http://msdn.microsoft.com/de-de/library/aa288681(v=vs.71).aspx

      http://msdn.microsoft.com/de-de/library/ms247298(v=office.11).aspx

      【讨论】:

      • -1:这不正确。互操作程序集仍然需要 Office 安装。
      • 感谢我刚刚阅读!
      • 互操作程序集是 .NET 应用程序和 Office 之间的桥梁。仅此而已。
      • 当你尝试用小题得分时,这是一种惩罚:-(!有任何可再分发的 excel 包吗?
      • 不,没有。您需要执行常规安装。这正是您不想使用 Office API 的原因。您应该改用第三方库。
      猜你喜欢
      • 2011-08-16
      • 1970-01-01
      • 1970-01-01
      • 2021-10-07
      • 2018-11-03
      • 1970-01-01
      • 2014-01-29
      • 1970-01-01
      • 2013-04-08
      相关资源
      最近更新 更多