31

我有一个 C# winforms 应用程序,我只是想打开一个 Excel 工作表。当我尝试添加对 Microsoft.Office.Interop 的引用时,“Office”部分为红色并显示“无法解析符号 'Office'”。

当我尝试构建时,错误是:

The type or namespace name 'Office' does not exist in the namespace 'Microsoft' 
    (are you missing an assembly reference?)

我安装了 Office 2012,并且我认为我安装了主互操作程序集......但我并不肯定。

我知道这应该很容易,但我一直在寻找这个问题的答案将近一个小时,只是无法弄清楚。提前致谢!

4

6 回答 6

43

在 VS2015 中使用 NuGet 包管理器

  • 右键单击 Visual Studio 项目中的引用
  • 选择管理 NuGet 包
  • microsoft.office在搜索框中输入
  • 选择 Microsoft.Office.Interop.Excel
  • 点击安装
  • 重建您的解决方案
于 2017-07-20T06:11:36.550 回答
32

您需要将库程序集引用添加到您的项目中。它们被称为“主要互操作程序集”。

(假设 Visual Studio 2010)

程序

  • 打开解决方案资源管理器窗口
  • 展开您的项目文件夹手风琴。
  • 右键单击引用元素
  • 从下拉列表中选择“添加参考”
  • 选择 .NET 选项卡并查找名为 .NET 的对象库Microsoft.Office.Interop.Excel
  • 点击确定

添加突出显示 excel 互操作的参考窗口

对象库现在应该出现在您的引用中。

突出显示 excel 库的参考文件夹手风琴

于 2013-07-23T22:47:30.927 回答
4

今天早上我遇到了同样的错误,Winforms 应用程序在过去总是完美构建。改变的只是我们公司将我们的笔记本电脑从 Excel 2007 升级到 Excel 2013。

经过一番调查,我意识到该应用程序是一个 .Net 3.5 应用程序,尽管解决方案资源管理器建议所有参考都很好。

解决方案资源管理器

......实际上,他们不是。告诫标志是,当我尝试在应用程序中重新添加引用时,找不到它们......

互操作

我需要做的是:

  • 将应用程序从 .Net 3.5 更新到 .Net 4.5
  • 删除与 Office 相关的参考(我上面的第一个屏幕截图中显示的前 5 个)
  • 重新添加参考(现在显示为版本 14 或 15)

我还必须更改一行代码:

excel = new Excel.ApplicationClass();

excel = new Excel.Application();

完成此操作后,应用程序构建没有错误,并再次成功运行。

于 2015-08-21T07:30:39.890 回答
2

我认为您缺少 dll 参考。将 Microsoft.Office.Interop.Excel.dll 添加到项目引用中,然后尝试。

于 2013-07-23T22:46:46.170 回答
2

在 VS 2015 中添加此包的更简单方法:

在使用包的行代码上按“Alt+Enter”,然后选择“在 nuget.org 上查找此命名空间” 在此处输入图像描述

安装它并享受:) 在此处输入图像描述

于 2017-04-15T06:11:36.853 回答
0

您需要安装 Office 2013 才能清除此构建错误。

于 2014-08-25T12:35:39.587 回答