前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >VSTO之外的另一开发利器Excel-DNA介绍,VSTO与Excel-DNA优缺点分析

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

作者头像
Excel催化剂
发布2021-08-19 10:58:49
4.7K0
发布2021-08-19 10:58:49
举报
文章被收录于专栏:Excel催化剂

前面一种介绍了许多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的魅力,敬请期待。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2017-08-15,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Excel催化剂 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1.1. 是微软的一门新的开发技术,微软持续更新维护,有前景
  • 1.2. 可以站在专业程序员的级别去写代码,有最好的IDE代码编辑器,用过再也不想回去用VBE这种简陋无比的开发环境了
  • 1.3. 有.net语言这个庞大的开发群体作后盾,许多代码直接拿来使用,不用自己重复去实现
  • 1.4. .net语言作为更高级别的语言,比传统VBA有更好的编程语言支持,内置了无数的基础底层的代码库,拿来就用。
  • 1.5. 面向对象编程,代码管理更方便,其实本人也不太有面向对象的编程思想,不能编出给其他人用的类,但却可以源源不断地用别人封装好的类库,属于编程群体中的使用者,非制造者。
  • 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年的感觉。
  • 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.1. 开发非自定义函数以外的功能,如功能区开发等,没有VSTO来得方便
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档