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

浏览网页后,我发现了VSTO个,但似乎你不能在Visual Studio Express Edition中使用它,所以我不能使用它.

就在几分钟前,我注意到这个网站上的一个问题,它在代码中使用了这个名称空间:

Microsoft.Office.Interop.Excel

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

UPDATE

我按照公认的答案安装了"Primary Interop Assemblies",但是由于某些原因,它们仍然没有出现在".NET"下的Add Reference对话框中,但是它们存在于GAC中.

所以我只是用"浏览"添加了参考,并在GAC文件夹中找到了Microsoft.Office.Interop.Excel.dll.

但在这个网站上寻找类似的问题,关于添加来自GAC的参考,似乎不建议这样做.

推荐答案

Update (thanks user2347528)

这些程序集作为NuGet软件包提供,这比我最初的答案简单得多.

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

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

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

一旦安装了它们,就可以在"添加引用"对话框中的项目中引用它们.网如果你没有看到那些微软.办公室互操作程序集已列出,但尚未安装.从安装程序中安装它们,或者分别下载和安装它们(请参阅上面的"我的下载链接").

.net相关问答推荐

信号量的多线程问题

使用 PostAsJsonAsync C# 时出现错误请求

将 Span 传递到函数时出现 F# 错误

使用 Task.WhenAll 但需要跟踪每个单独的 Task 的成功

什么取代了 .Net Core 中的 WCF?

WPF中的依赖属性和附加属性有什么区别?

如何在不违反继承安全规则的情况下在 .NET 4+ 中实现 ISerializable?

微软内部 PriorityQueue 中的错误?

为什么 ?: 会导致转换错误,而 if-else 不会?

无法从使用 Visual Studio 2017 和 C# 7.0 的方法返回元组

“x 为 null”和“x == null”有什么区别?

在 .NET Core 中在 MVC 之外使用 Razor

具有不同身份验证标头的 HttpClient 单个实例

无法在 Windows 10 上安装 Windows SDK 7.1

这在技术上是“Hello World”的 O(1) 算法吗?

如何在 ASP.NET Core MVC 中读取操作方法的属性?

如何从标头中检索基本身份验证凭据?

如何将 VB 项目转换为 C# 项目

Microsoft.Bcl.Build NuGet 包有什么作用?

为什么不从 List 继承?