Excel 插件 COM 插件 VS VSTO 插件
Posted
技术标签:
【中文标题】Excel 插件 COM 插件 VS VSTO 插件【英文标题】:Excel Addin COM Addin VS VSTO Addin 【发布时间】:2018-08-29 09:53:16 【问题描述】:我在互联网上搜索了很多小时,但没有找到令人满意的结果 - VSTO 插件和 COM 插件(我们作为类库项目并使用 excel 对象)有什么区别? VSTO 项目是否有任何限制,例如它仅适用于特定版本的 excel。
【问题讨论】:
【参考方案1】:COM 加载项使用IDTExtensibility2 interface 与 Office 应用程序通信。
VSTO(以及任何其他 Office 插件库,例如 Add-in Express)基于并扩展此接口。例如,VSTO
为连接接口做了很多后台工作。 提供文档级自定义(链接到特定文档或模板的代码),而不仅仅是应用程序级插件。 扩展了 Word 或 Excel 对象模型的某些部分,使 .NET 开发人员可以更轻松地使用它们。 使开发人员能够将 WinForms 控件放置在 Excel 或 Word 文档表面上,或者通过以与 Office 技术兼容的方式将它们封装起来,将它们托管在自定义任务窗格中 为数据绑定到某些本地 Office 对象提供“管道” 为“简单”的功能区自定义提供功能区设计器,作为功能区 XML 的替代方案。VSTO 适用于 Office 2007 及更高版本(如果我没记错的话,为 Office 2000 引入了 IDTExtensibility2)。对于您计划支持的最早版本的 Office,您必须使用正确的 .NET Framework 和 VSTO 模板。为早期版本创建的加载项可以在更高版本的 Office 中使用,而无需重新构建。
任何基于接口的加载项都仅限于 Windows 桌面。
【讨论】:
谢谢,很好的帮助。还有一个问题 VSTO 是否同时进行了文档级自定义和应用程序级自定义?。 实际上,我正在为一些金融数据库开发 Excel 插件,我必须决定使用哪种技术 - COM Addin/VSTO/javascript API。可以在 Web Addin 中访问数据库吗?你有什么建议? 您的第一条评论@Abhishek:是的,VSTO 两者兼而有之。您的第二条评论:由于各种原因,我确实没有答案,但请考虑您是要“链接”到桌面还是“在线”支持 Mac 或 Office(将 = JS)。以上是关于Excel 插件 COM 插件 VS VSTO 插件的主要内容,如果未能解决你的问题,请参考以下文章