用C#编程MS办公室 - 有可能吗?

时间:2016-03-23 08:05:11

标签: c# excel ms-access ms-office

像Excel这样的MS Office应用程序可以使用Visual Basic for Applications进行编程。是否可以使用C#编写MS office以进行高级任务?

5 个答案:

答案 0 :(得分:4)

是的,确实如此。您可以使用Visual Studio Tools for Office,它允许使用C#,VB.NET等编写加载项。它使用COM互操作与Office通信。

此外,现在你有Office apps,它是JavaScript和服务器端点之间的混合体,也可以用C#编码。

答案 1 :(得分:4)

当然。您可以免费安装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;

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

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

这些教程在网上有很多。 DoNotPerls是一个从基础开始的好地方:

  1. Excel
  2. Word

答案 2 :(得分:4)

如果不提Excel-DNA那将是不公正的。由一位才华横溢,非常有帮助的小伙伴撰写的精彩产品,并提供良好的社区支持。它是免费提供的,可以很容易地制作Excel自定义功能,RTD服务器和其他好东西。

  

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

编写自定义函数就像编写静态方法一样简单,并且包含已编译的DLL或.cs文件以及提供的XLL文件。

答案 3 :(得分:2)

另一个很好的选择(我推荐的那个)是使用Add-in Express。 https://www.add-in-express.com

他们的工具集极大地扩展了VSTO或COM加载项的可能性。他们的支持非常棒,他们的网站几乎可以为任何Office开发场景提供示例。

答案 4 :(得分:0)

对于Excel,您可以使用我的ESharper加载项在实时Excel会话中使用C#以交互方式编写轻量级用户定义函数和命令,而无需额外的加载项部署开销。