关于c#:如何引用Microsoft.Office.Interop.Excel dll?

How to reference Microsoft.Office.Interop.Excel dll?

2006年,我使用MS VS 2005开发了一个处理excel表格的系统。现在,我不能在MS VS 2012中使用相同的引用。

1
2
var app = new Microsoft.Office.Interop.Excel.Application();
Workbooks wbs = app.Workbooks;


使用NuGet(VS 2013):

在任何最新版本的Visual Studio中,最简单的方法是仅使用NuGet程序包管理器。 (甚至是VS2013,带有用于Visual Studio 2013扩展的NuGet程序包管理器。)

右键单击"参考",然后选择"管理NuGet软件包...",然后仅搜索Excel。

enter image description here

VS 2012:

旧版本的VS无法访问NuGet。

  • 右键单击"参考",然后选择"添加参考"。
  • 选择左侧的"扩展程序"。
  • 查找Microsoft.Office.Interop.Excel。(请注意,您只需在右上角的搜索框中键入" excel"即可。)

VS2012/2013 References

VS 2008/2010:

  • 右键单击"参考",然后选择"添加参考"。
  • 选择" .NET"选项卡。
  • 寻找Microsoft.Office.Interop.Excel

VS 2010 References


您也可以尝试通过程序包管理器在Visual Studio中安装它。

在程序包控制台中运行Install-Package Microsoft.Office.Interop.Excel
这将自动将其添加为项目参考。

用法如下:

1
Using Excel=Microsoft.Office.Interop.Excel;

如果您具有VS 2013 Express,但找不到Microsoft.Office命名空间,请尝试执行此操作(如果要使用Office 2007,请使用" Microsoft Excel 12.0对象库")

enter image description here


基于Mulfix的答案,如果您具有Visual Studio Community 2015,请尝试添加参考...-> COM->类型库->'Microsoft Excel 15.0 Object Library'。


有一个名为NetOffice的开源项目可以从您的项目中抽象出来,而不是尽早绑定引用,从而使工作变得更加轻松。这样,您不必依靠用户安装了特定版本的Office。

NetOffice Codeplex站点。


您必须检查要定位的Excel版本?

如果您定位到Excel 2010使用版本14(根据Grant的屏幕快照答案),则Excel 2007使用版本12。您无法使用vS2012支持Excel 2003,因为它们没有安装正确的Interop dll。