【问题标题】:What reference do I need to use Microsoft.Office.Interop.Excel in .NET?在 .NET 中使用 Microsoft.Office.Interop.Excel 需要哪些参考资料?
【发布时间】:2012-05-15 17:14:51
【问题描述】:

我对使用 C# 操作/自动化 Excel 文件感兴趣。

浏览网页后,我找到了VSTO,但您似乎无法在 Visual Studio Express Edition 中使用它,所以我无法使用它。

就在几分钟前,我注意到此站点中的一个问题在其代码中使用了此命名空间:

Microsoft.Office.Interop.Excel

所以我想知道我是否只需要添加必要的引用,如果需要,添加哪个引用?

更新

我按照接受的答案建议安装了“主要互操作程序集”,但由于某种原因,“.NET”下的“添加引用”对话框中仍然缺少它们,但它们存在于 GAC 中。

所以我只是使用“浏览”添加了引用,并在 GAC 文件夹中找到了 Microsoft.Office.Interop.Excel.dll

但在此站点上寻找有关添加 GAC 参考的类似问题,似乎不建议这样做。

【问题讨论】:

    标签: c# .net office-interop visual-studio-express


    【解决方案1】:

    更新(感谢 user2347528)

    这些程序集以 NuGet 包的形式提供,这比我原来的答案要容易得多。

    您可以通过右键单击项目中的 References 并选择 Manage NuGet packages... 并搜索下面列出的包之一来安装,或者使用安装包管理器控制台:

    PM> Install-Package Microsoft.Office.Interop.Excel
    

    这些作为“主要互操作程序集”提供,可以与 Office 一起安装,也可以单独下载和安装。 How to: Install Office Primary Interop Assemblies.

    安装后,您可以在 .NET 下的“添加引用”对话框中的项目中引用它们。如果您没有看到列出的那些 Microsoft.Office.Interop 程序集,则它们尚未安装。从您的设置中安装它们,或单独下载并安装它们(有关下载,请参阅我上面的链接)。

    【讨论】:

    • 我在“Com”选项卡中发现了一堆名为 Microsoft Office 的组件......是这些吗?
    • 这些是 Visual Studio 可以为其生成 .NET 互操作程序集的 COM 服务。不建议您使用这些;您应该使用 Microsoft 发布的 PIA 程序集。它们应该显示在“添加引用”对话框的 .NET 选项卡中。如果您没有看到它们,则需要从您的 Office 设置中安装 PIA,或者按照我在答案中链接的方式单独下载它们。
    • @HackedByChinese 我在添加引用对话框中没有看到任何 .NET 选项卡
    • 在 Visual Studio 2013 中,我在 Add References 窗口左侧菜单的 Assemblies->Extensions 下找到了这些引用。
    • 我正在尝试在 Windows 2012 服务器上安装使用 Microsoft.Office.Interop.Excel.dll 的 C# 程序。该程序在我的 Windows 7 PC 上运行良好,但即使在服务器上安装了 PIA 后,我仍然收到有关 System.Runtime.Interop.COM 组件丢失的错误消息。当我尝试实例化 Excel.Application() 对象时,程序会中断。我还有什么遗漏的吗?
    【解决方案2】:

    我自己也遇到了这个问题,接受的答案对我没有帮助,但我解决了:

    Add reference > Browse > C: > Windows > assembly > GAC > Microsoft.Office.Interop.Excel > 12.0.0.0_etc > Microsoft.Office.Interop.Excel.dll

    【讨论】:

    • 我到处都在寻找这个解决方案。
    • 感谢您的提示。具有讽刺意味的是,Microsoft 自己无法使其可靠地工作 - 2014 年,我们仍然直接引用 .dlls ...
    • Add Reference -> COM -> Microsoft Excel 12.0 Object Library 也是如此。
    • 它在服务器上工作吗?没有在服务器上安装办公室?
    • 好的,谢谢。你有什么主意吗?我可以在不安装办公室的情况下使用它吗?我使用的是 azure。
    【解决方案3】:

    答案并没有帮助我解决我的问题,尽管我使用 Microsoft 的 msi 安装程序安装了这些程序集,但我找不到(和浏览)这些程序集。对我来说,excel程序集位于C:\Windows\assembly\GAC_MSIL\Microsoft.Office.Interop.Excel\14.0.0.0__71e9bce111e9429c\Microsoft.Office.Interop.Excel.dll

    【讨论】:

    • 在我尝试了文件夹 GAC、GAC_32 和 GAC_64 之后,我认为它永远不会在最后一个文件夹 GAC_MSIL 中。但它是。谢谢你的评论。对我来说效果很好!
    • 最简单最好的答案。谢谢老兄。
    【解决方案4】:

    只需添加Microsoft.Office.Interop.Excel 的引用即可。

    已包含MicroSoft Excel相关类,无需添加更多引用。

    【讨论】:

    • 这是我尝试的第一件事。但是没有找到“Office”部分。
    • 其实和@user850010有同样的问题,但最后意识到我在解决方案中右键单击并添加了错误项目的引用文件夹。
    【解决方案5】:

    我猜你想要做的是添加Microsoft.Office.Interop.Excelusing 语句而不在你的应用程序中添加它的引用,在这种情况下它不会被发现。在使用 using 语句调用它之前,您需要添加对您的应用程序的引用。右键单击References 并添加Excel Interop 引用。

    【讨论】:

      【解决方案6】:

      添加参考 > 浏览 > C:> Windows > 程序集 > GAC > Microsoft.Office.Interop.Excel > 12.0.0.0_wasd.. > Microsoft.Office.Interop.Excel.dll

      【讨论】:

        【解决方案7】:

        我发现它位于 Assemblies->VS2013 中的扩展下。

        【讨论】:

          【解决方案8】:

          如果您安装了 Microsoft Office,那么您应该能够添加对 Interop.Excel 的引用。

          例如,我正在输入此内容的 PC 具有 MSVS 2010 C# Express 和 Office 2010。我可以添加对 Microsoft.Office.Interop.Excel 11.0.0.0 的引用。

          '希望有帮助

          【讨论】:

            【解决方案9】:

            它在 com 组件中,命名为: “Microsoft Office 14 对象库”

            【讨论】:

            • VS2010:添加对“Microsoft Office 14 对象库”的 COM 引用仅添加对“Microsoft.Office.Core”的引用。更好:使用 COM 参考“Microsoft Excel 14.0 Object Library”。它直接指向已安装的 Excel 可执行文件,但会显示为对“Microsoft.Office.Core”和“Microsoft.Office.Interop.Excel”的引用。如果您只需要在安装了 Excel 的机器上运行和部署,应该会有所帮助。
            【解决方案10】:

            自 Office 2007 以来的最佳选择是使用 Open XML SDK。 我们使用了 Word.Interop,但它有时会停止,并且不建议 Microsoft 将其用作服务器端文档格式,因此 Open XML SDK 让您可以非常轻松地创建 DOCX 和 Open XML 格式的 Word 文档。 它让您在可扩展性、信心(文件,如果损坏可以重建)和其他非常好的特性方面顺利进行。

            【讨论】:

              【解决方案11】:

              这里是超级可靠的解决方案,你只需要在你的 Debug/Release 文件夹中有excell.dll 我的是 77,824 字节,我把它下载为一个文件,这也解释了为什么有些人编译了 Debug 但没有发布,反之亦然。

              特伦托

              【讨论】:

                【解决方案12】:

                我也遇到了同样的问题,但这些答案都没有帮助我。我确实在我的电脑上的莫斯蒂指出的位置找到了 dll:(C:\Windows\assembly\GAC_MSIL\Microsoft.Office.Interop.Excel\14.0.0.0__71e9bce111e9429c\Microsoft.Office.Interop.Excel.dll),但这不是我试图构建的项目中引用的那个。

                我们在 Visual Studio 2012 中的项目中的引用指向 C:\Program Files (x86)\Microsoft Visual Studio 11.0\Visual Studio Tools for Office\。这个位置对我来说是空的,但对其他人来说效果很好。尝试了很多次,但我终于找到了一个可以工作的安装程序。我希望这可以为其他人省去同样的麻烦!

                --> Office Tools Bundle installer for VS2012

                这位于Office Documentation and Download 页面上。向下滚动到工具下载。目前还有一个用于 VS2013。

                【讨论】:

                  【解决方案13】:

                  1.下载安装:微软Office开发工具

                  2.添加来自:

                  的引用

                  C:\Program Files (x86)\Microsoft Visual Studio 11.0\Visual Studio Tools for Office\PIA\Office15

                  【讨论】:

                    【解决方案14】:

                    我遇到了同样的问题,当我将 VS2012 升级到 VS2015 后,Microsoft.Office.Interop 没有出现在“添加引用”选项中。我基本上修复了安装(控制面板 > 程序和功能 > VS 2012 > 右键单击​​更改 > 修复)并添加了 Microsoft Office 组件。之后,相同的解决方案开始起作用。

                    【讨论】:

                      【解决方案15】:

                      确保您的项目是 32 位的。

                      我遇到了这个问题,只要我勾选“首选 32 位并重建”参考->程序集->搜索“Office”中可用的所有 Office 互操作程序集。

                      【讨论】:

                        猜你喜欢
                        • 1970-01-01
                        • 2011-12-24
                        • 1970-01-01
                        • 1970-01-01
                        • 1970-01-01
                        • 1970-01-01
                        • 1970-01-01
                        • 1970-01-01
                        • 1970-01-01
                        相关资源
                        最近更新 更多