我对使用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并 Select Manage NuGet packages...并搜索下面列出的软件包之一来安装,或者使用软件包管理器控制台安装:

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

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

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

.net相关问答推荐

仅在有换行符时捕获分隔符之间的所有文本

是否有任何为 C# 编写的模糊搜索或字符串相似函数库?

从 byte[] 创建 zip 文件

如何从控制台应用程序中的 Task.WaitAll() 获取返回值?

生产代码中的 System.Diagnostics.Debug.WriteLine

托管和非托管代码、内存和大小有什么区别?

无法加载文件或程序集WebGrease,版本=1.5.1.25624,Culture=neutral,PublicKeyToken=31bf3856ad364e35或其依赖项之一

调用委托与方法的性能

C# 中的 myCustomer.GetType() 和 typeof(Customer) 有什么区别?

如何退出所有正在运行的线程?

哪个更快:清除集合或实例化新的

为什么 .NET 中不需要 Maven?

有没有办法从方法返回匿名类型?

如何使用 EPPlus 设置 XLSX 单元格宽度?

如何访问 Session 变量并在 javascript 中设置它们?

将 SignalR 2.0 .NET 客户端重新连接到服务器集线器的最佳实践

为什么 .NET 中没有 Tree 类?

.NET 的 XPath 和 XSLT 2.0?

如何使用 AutoMapper .ForMember?

不签署 .NET 程序集有什么问题吗?