我需要为excel开发一个插件。它的行为类似于Plugins for Eclipse。 它应该可用作上下文相关菜单,应该可以访问当前打开的电子表格内容,图表内容等。
我看到了以下用于开发Excel加载项的链接: http://msdn.microsoft.com/en-us/library/office/aa730920(v=office.12).aspx#office2007excelXLL_DevelopingXLLs(使用C& C ++和XLL SDK)。
这是开发Excel插件的唯一选择吗?
答案 0 :(得分:3)
Microsoft网站上有关创建加载项的大量信息。有人建议阅读指出你正确的方向。
http://msdn.microsoft.com/en-us/library/ms268878.aspx
http://support.microsoft.com/kb/302901
http://msdn.microsoft.com/en-us/library/aa289518(v=vs.71).aspx
甚至还有一些关于stackoverflow的东西 Creating add-in for Excel using C#
答案 1 :(得分:2)
您的加载项会做什么?在Excel的内置VBA中执行此操作可能最简单。
答案 2 :(得分:0)
有三种不同的插件(附加)技术:-
VBA。内置于Excel。最简单的,你甚至可以从记录键击的宏。最快的。易于部署。最好。被Microsoft认为已过时。您需要编写EndIf而不是},对于许多人来说,这是一个交易杀手。
.Net(C#或VB)。没有那么好的开发环境。需要Visual Studio +接口技术,VSTO(最差),ExcelDNA或该Belerus系统(可能是最好的)。部署困难。由于使用COM较慢。是VBA的替代品,但没有过时。
JavaScript。最新和最伟大的。非常时尚。要开发非常困难的客户端/服务器环境。很难部署。效率很低。受限的API。
答案 3 :(得分:0)
正如其他人提到的那样,除了XLL之外,还有三种基本的Office技术,它们是VSTO,VBA和Office JS API。
我在使用这三个工具时的个人经验是,VSTO在VB.NET或C#中是最强大的,因为它们本质上是相同的语言。两种语言的未来路线图将显示出差异,因为C#将获得高端功能,而VB.NET将以我们容易为目标,但就这一点而言,两者在Excel编程方面几乎没有什么区别。 VSTO将提供预期的功能,以及用于版本控制,发行,自动更新和回滚的内置过程,并且能够在.NET库中提供任何功能。
VBA是Office的原始编程语言,大多数示例均以此为基础。您可以使用它创建相当复杂的功能区和上下文菜单,但是,它将无法执行异步/线程操作,并且轻巧地用于与服务相关的工作。就是说,如果您不需要这样的操作,则VBA可以工作,但是您应该制定一些计划来管理版本控制和代码管理,这不是VBA领域的固有内容,而是完全由您管理。
office API类似于使用Office编程网页,定义和使用JS进行操作-更新一种利用React和Angular-面板使用HTML和CSS。我最近转换Outlook VSTO加载项的经验令人沮丧,因为VSTO / VBA中的许多易于实现的功能在JS中不可用或更为复杂。功能和界面虽然很好,但与典型的WinForm相比,外观要好得多,并且与VSTO不同,它能够在基于Web的办公客户端中工作。
您提供的XLL链接用于C ++的包装。这可能比任何其他类型的都要复杂,并且尽管可以降低价格,但您需要拥有丰富的经验和技能,才能物有所值。
简介: