VSTO之外的另一开发利器Excel-DNA介绍,VSTO与Excel-DNA优缺点分析

2021-08-19 10:58:49 浏览数 (1)

前面一种介绍了许多VSTO开发的插件一些功能和零散提到VSTO开发的一些好处,今天在这里来个180大翻脸,开始谈下VSTO开发插件的一些不足。顺便给大家介绍下,一个同样精彩的开发方式,使用Excel-DNA开发自定义函数加载项。

因本人非理论派,只是一些自我的一些小认知,知识体系杂乱,谈得不深入的地方,请多多包涵,谈得不对的地方,也恳请指正。

VSTO开发优缺点

1. 优点

1.1. 是微软的一门新的开发技术,微软持续更新维护,有前景

1.2. 可以站在专业程序员的级别去写代码,有最好的IDE代码编辑器,用过再也不想回去用VBE这种简陋无比的开发环境了

1.3. 有.net语言这个庞大的开发群体作后盾,许多代码直接拿来使用,不用自己重复去实现

1.4. .net语言作为更高级别的语言,比传统VBA有更好的编程语言支持,内置了无数的基础底层的代码库,拿来就用。

1.5. 面向对象编程,代码管理更方便,其实本人也不太有面向对象的编程思想,不能编出给其他人用的类,但却可以源源不断地用别人封装好的类库,属于编程群体中的使用者,非制造者。

2. 缺点

2.1. 非程序猿入门有难度,毕竟是专业的编程语言,不像VBA那么大众化,普通用户通过录制宏就可以打开编程世界

2.2. 学习资料很匮乏,一开始想着VBA转VB.net,语法是同一母系,门槛不高,但入门后发现很难再有更多的资料介绍了,C#语言倒还好些,视频、书籍都比较丰富,但需要给自己一个决心,狠狠啃上个把月,才能入门成功

2.3. 开发环境安装包巨大,vs2017有20多G大,一般人都很排斥

2.4. 开发出来的程序,对用户机器要求高,要求.netFramwork4.0或以上的框架和VSTO运行时的环境。前者是win8之后的电脑系统已经自带了,但后者貌似都需要单独安装。

2.5. 开发出来的VSTO插件,对用户的OFFICE版本有要求,一般需要OFFICE2007及以上才可使用。别小看这个条件,把很多企业级的用户给阻隔掉了,特别是一些生产型企业,它们对新事物接受往往较慢,安于现状的流程,同是节省表面的成本。本人曾经呆过的一家日本500强制造业企业当时使用的是OFFICE2003,有一种还想再用10年的感觉。

Excel-DNA资源简介:

官网:https://excel-dna.net/

国内资源:

博客园Excel专业开发之自定义函数:http://www.cnblogs.com/yangecnu/p/Excel-User-Define-Function-Introduce.html

ExcelHome学导帖:http://club.excelhome.net/thread-951893-1-1.html

我在ExcelHome发的帖http://club.excelhome.net/forum.php?mod=viewthread&tid=1342901#lastpost

Excel-DNA优缺点介绍:

1. 优点

1.1. VBA开发者,可以使用VBA语言来开发,慢慢过渡到.net语言开发

1.2. 可以使用.net语言来开发Excel插件,利用.net丰富的现有资源,例如做个MD5函数,几句代码就可完成。

1.3. 对用户机器环境要求低,xp机器都可以用,甚至office1997老古董都可以用,开发的成品可以发布的群体,几乎可以囊括所有的OFFICE用户群体

1.4. 不需要VSTO运行时的环境,一般电脑都缺这个

1.5. 开发自定义函数的利器,VSTO开发自定义函数在发布给用户机器使用时麻烦,要对注册表注册,需要管理员权限,但Excel-DNA开发的完全没有这些烦恼,用户双击即可打开使或进行加载项载入,下次打开Excel即可使用,无需重复操作。

1.6. 可以对自定义函数进行用户输入提示功能,效果和原生的工作表函数的提示功能接近,这是VSTO和VBA开发所没法做到的。

1.7. 可以利用作者实现的异步功能,开发数组函数可以不需用户Ctrl Shift Enter麻烦输入,直接像普通函数一样输入,但最终可以返回多个值,同时在运算效率和性能得到显著提升。

1.8. 免费,真正VSTO开发其实是要钱的,需要visual studio专业版才可以开发,社区版是不能开发的,可能这个原因,使国外的VSTO开发没有太火爆起来。Excel-DNA可以用visual studio社区版开发,Excel-DNA同时也是开源免费的。

1.9. 用户发布友好,直接一个xll文件发给用户,用户不需安装即可使用,无需管理员权限,无需访问注册表权限,和xlam加载宏的效果一样。

1.10. 代码是二进制编译过的,运行速度更快,相对于VBA的解释型语言开发的自定义函数,Excel-DNA开发的自定义函数运行效率更高。

2. 缺点

2.1. 开发非自定义函数以外的功能,如功能区开发等,没有VSTO来得方便

内容预告

今晚文字写得有点多,没时间录视频,明晚录个视频给大家感受下Excel-DNA的魅力,敬请期待。

0 人点赞