使用C#对MS Office进行编程-是否可以?

Fsa*_*lad 4 c# excel ms-access ms-office

可以使用Visual Basic for Applications对Excel等MS Office应用程序进行编程。是否可以使用C#对MS Office进行编程以执行高级任务?

Pat*_*man 5

是的。您可以使用Visual Studio Tools for Office,它允许使用C#,VB.NET等编写加载项。它使用COM interop与Office进行通信。

另外,如今您拥有Office应用程序,它们是JavaScript和服务器端点之间的混合体,也可以用C#进行编码。


Lir*_*Yeo 5

绝对是 您可以免费安装Visual Studio Community 2015。然后查看此文件夹(路径可能有所不同):

C:\ Program Files(x86)\ Microsoft Visual Studio 12.0 \ Visual Studio Tools for Office \ PIA \ Office15

在这里,您可以找到每个Office应用程序的dll。

Microsoft.Office.Interop.Excel.dll开始一个新的C#项目为例,将该dll添加到项目引用中。

using Excel = Microsoft.Office.Interop.Excel;
Run Code Online (Sandbox Code Playgroud)

然后,您可以像这样初始化excel应用程序:

Excel.Application xlApp = new Excel.Application();
Excel.Workbook xlWorkbook = xlApp.Workbooks.Open(@"C:\path\file.xlsx");
Excel.Worksheet xlWorksheet = xlWorkbook.Sheets[1];
Run Code Online (Sandbox Code Playgroud)

在线上有很多这些教程。DoNotPerls是从基本开始的好地方:

  1. 电子表格


Jos*_*son 5

更不用说Excel-DNA了。由才华横溢且乐于助人的家伙撰写的出色产品,并获得了良好的社区支持。它是免费提供的,使制作Excel自定义功能,RTD服务器和其他功能变得非常容易。

Excel-DNA是将.NET集成到Excel中的独立项目。使用Excel-DNA,您可以使用C#,Visual Basic.NET或F#为Excel创建本机(.xll)加载项,提供高性能的用户定义函数(UDF),自定义功能区接口等。您的整个加载项可以打包为单个.xll文件,无需安装或注册。

编写自定义函数就像编写静态方法一样容易,并且将编译的DLL或.cs文件与提供的XLL文件包括在内。