答案 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是一个从基础开始的好地方:
答案 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#以交互方式编写轻量级用户定义函数和命令,而无需额外的加载项部署开销。