我目前正在使用 Office javascript API 开发一个工具。但是,我想提供一个自己的 Excel 函数(类似于=SUM(A1:A5)
),它基于 C# 中的代码。
从用户的角度来看,有什么方法可以避免发布两个单独的插件?我可以将两种技术结合到一个插件中吗?
我目前正在使用 Office javascript API 开发一个工具。但是,我想提供一个自己的 Excel 函数(类似于=SUM(A1:A5)
),它基于 C# 中的代码。
从用户的角度来看,有什么方法可以避免发布两个单独的插件?我可以将两种技术结合到一个插件中吗?
如果您只针对 Excel 的桌面版本,则可以创建 VSTO 加载项,而不是基于 JavaScript 的加载项。在此添加中,您可以在 VSTO 项目中包含自定义函数的代码,并确保它们已正确注册。一种解决方案是创建您自己的基于 MSI 的安装程序,例如使用 Windows Installer XML (WIX) 或 Nullsoft 的 NSIS 工具。
使用这种“经典”VSTO 插件技术,您将无法在 Mac、移动平台或浏览器中的 Excel Online 上定位 Excel。
是的,还有一种替代解决方案,可以按照 Dirk 的建议使用 VSTO 或 ExcelDNA 创建桌面 C# 插件。
javascript Web 插件只是一个带有库的网页:office.js 填补了您的逻辑和办公室主机应用程序之间的空白。
为什么不将输入传递给用 C# 编写的 API(这可以是或不是为加载项提供服务的同一服务器)来进行计算?javascript 将仅用于传递数据并在电子表格中设置计算结果。
我使用 ILMerge 来组合我的 dll。您可以将其添加为构建后命令,以便它们在成功构建时合并。