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

问题描述 投票:13回答:6

我有一个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,我想我安装了主互操作程序集......但我并不乐观。

我知道这应该是那么容易,但我一直在寻找答案,差不多一个小时,只是无法搞清楚。提前致谢!

c# winforms office-interop
6个回答
26
投票

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

(假设Visual Studio 2010)

程序

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

add reference window with excel interop hilighted

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

reference folder accordion with excel library hilighted


22
投票

Use NuGet Package Manager in VS2015

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

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();

一旦我完成了这个,应用程序构建没有错误,并再次成功运行。


1
投票

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


1
投票

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

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

安装它并享受:) enter image description here


0
投票

您需要安装Office 2013以清除此生成错误。

© www.soinside.com 2019 - 2024. All rights reserved.