无法获得Microsoft.Office.Interop引用的工作

时间:2013-07-23 22:35:54

标签: c# winforms office-interop

我有一个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,并且我认为我安装了主互操作程序集......但我并不积极。

我知道这应该是如此简单,但我一直在寻找答案,差不多一个小时,只是无法弄明白。提前谢谢!

6 个答案:

答案 0 :(得分:23)

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

(假设Visual Studio 2010)

程序

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

add reference window with excel interop hilighted

对象库现在应该出现在您的参考文献中。

reference folder accordion with excel library hilighted

答案 1 :(得分:21)

在VS2015中使用NuGet包管理器

  • 右键单击visual studio项目中的引用
  • 选择管理NuGet包
  • 在搜索框中输入microsoft.office
  • 选择Microsoft.Office.Interop.Excel
  • 点击安装
  • 重建您的解决方案

答案 2 :(得分:2)

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

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

Solution Explorer

......实际上,他们并非如此。告诉尾标的是,当我试图在应用程序中重新添加引用时,它们无法找到......

Interop

我需要做的是:

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

我还必须更改一行代码:

excel = new Excel.ApplicationClass();

excel = new Excel.Application();

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

答案 3 :(得分:1)

我认为你错过了dll参考。将Microsoft.Office.Interop.Excel.dll添加到项目引用,然后尝试。

答案 4 :(得分:1)

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

在使用包的行代码上按“Alt + Enter”,然后选择“在nuget.org上查找此命名空间” enter image description here

安装并享受:) enter image description here

答案 5 :(得分:0)

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