繁体   English   中英

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

[英]Can't get Microsoft.Office.Interop reference to work

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

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

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

(假设Visual Studio 2010)

程序

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

添加参考窗口与excel interop hilighted

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

参考文件夹手风琴与excel库高亮

在VS2015中使用NuGet包管理器

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

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

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

Solution Explorer

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

互操作

我需要做的是:

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

我还必须更改一行代码:

excel = new Excel.ApplicationClass();

excel = new Excel.Application();

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

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

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

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

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM