【问题标题】:Error when creating Excel file on server在服务器上创建 Excel 文件时出错
【发布时间】:2013-11-14 00:25:20
【问题描述】:

我在 .Net 中创建了一个应用程序,它将在服务器上创建一个 excel 文件并通过电子邮件将其作为附件发送。 当应用程序尝试在服务器上创建 excel 文件时,我收到以下错误:

检索 CLSID 为 {00024500-0000-0000-C000-000000000046} 的组件的 COM 类工厂失败,原因是以下错误:80040154

通过这个问题的类似帖子,并在网上搜索了一番,我发现我需要在服务器上安装 MS Office。

我仍然想知道,是否有任何其他方式(即不安装 MS Office)可以实现我的要求。

提前致谢。

【问题讨论】:

    标签: c# .net ms-office


    【解决方案1】:

    是的,您可以使用第 3 方 Excel 工具。应该从 NuGet 获取 ClosedXML。它对 DocumentFormat.OpenXml 有单一依赖,是非常有效的工具。

    【讨论】:

    • 感谢您的回复,但是使用这个第三方工具,我将不得不对我的代码进行更改。我想知道是否有更简单的方法可以做到这一点,比如简单地添加 DLL 或更改设置。
    • 用法非常接近经典的 excel 互操作。你可以轻松改变。不管怎样,在您的解决方案中找到正确的 dll(Microsoft.Office.Interop.Excel vs)版本。使用解决方案资源管理器,查找互操作引用。并使用属性来确定它们的版本。因此,请从 Microsoft 站点下载互操作库设置并安装到生产机器上。
    【解决方案2】:

    真的取决于您的需求。

    如果你想创建 csv 文件,那么它会相当简单 - 只需转储一个带有分隔符的文本文件。

    如果你想创建复杂的 excel 文件(基于 xml 的 excel 文件,.xlsx 等),你可以考虑 openXML,还有很多其他的第三方工具也封装了它。

    参考:http://www.microsoft.com/en-us/download/details.aspx?id=5124

    【讨论】:

      【解决方案3】:

      我终于安装了 MS Office,它开始工作了。谢谢大家的回复。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2011-09-30
        • 1970-01-01
        • 2021-12-07
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多