在Excel催化剂中,独树一帜地推出了Excel与数据库交互功能,目前仅实现了对Sqlserver的交互,在通用型插件中仅此一家,别无其他. 为何会出现这样的局面呢,原因大概有以下几大方面: 和数据库交互的使用群体太窄,除非极个别数据分析师会用到这个问题的确存在,在Excel群体中,能够有机会接触到数据库层面的聊聊无几,当属于最上层高级Excel用户才会涉猎,对Excel催化剂来说,本来群体已定位为重度Excel高级用户使用,有此功能才显得插件的饱满性. 开发者本身不懂数据库,更无从开发数据库相…
上篇提到如何从Excel界面上拿到用户的数据,另外反方向的怎样输出给用户数据,也是关键之处. VSTO最大的优势是,这双向的过程中,全程有用户的交互操作. 而一般IT型的程序,都是脱离用户的操作,只能让用户准备好数据,离开Excel,或生成数据,要重新打开某文件才能获取到数据结果. 在VSTO中,用户随时在Excel最强UI前端中生产数据,同时也在获得数据结果后,无缝地利用Excel强大的数据处理能力进行数据的再次加工如Vlookup一些其他信息进来,做个图表展示等等. VSTO程序在用户全程数…
Excel催化剂内部大量使用了DataGridView,这其中有一些小坑,花了力气才解决的,在此给广大开发者作简单分享. 为何要使用DataGridView而不是其他控件如ListBox.ListView.ComboBox之类的?因为大量的数据,特别是配置信息,都是以数据库表结构的一维表存储最为合理,一般一个配置是多列内容来定义其多样的属性. 用DataGridView最有优势之处在于,可以直接让DataTable直接绑定即可,同时带有丰富的事件可与用户交互,并且保留有用户常用的排序功能,筛选功…
Excel催化剂开源第22波-VSTO的帮助文档在哪里? Excel催化剂   2019.01.12 14:10 字数 2930 阅读 55评论 0喜欢 0 编辑文章 对于专业程序猿来说,查找文档不是个什么难事,但VSTO开发者,多数是VBA开发者转型过来的,VBA开发者一般都是比较业余(笔者也是业余的开发,很幸运得到一位专业程序猿师傅全程陪伴成长).一些看似很司空见惯的技能,可能很大部分VBA开发者还没掌握到. Visual Studio上的帮助文档 在VS2017版本上,帮助文档管理器默认不…
Excel催化剂开源第23波-VSTO开发辅助录入功能关键技术 Excel催化剂   2019.01.12 14:10* 字数 2948 阅读 41评论 0喜欢 0 编辑文章 在Excel催化剂的几大辅助录入功能中(数据验证保护.数据多级联动输入.关键词模糊智能匹配输入)中,用了一些customxmlPart技术来存储配置信息,同时在关键词模糊智能匹配输入中,用了一个VSTO开发才能满足的自定义控件技术,很值得启发,拿出来给大家作一分享. 一般来说控件都是放到窗体或任务窗格中,但Excel同样支…
在VSTO开发或其他COM技术开发过程中,甚至VBA也是,在和Excel交互中,难免会遇到性能瓶颈问题,COM技术的交互实在太慢,对大量数据读写等操作,耗时太长,容易卡用户界面以为是程序死机等等. 在专业程序猿开发群体,极少直接用COM的方式来访问Excel文件,都是以其他的非COM如最为流行的NPOI和EPPLUS类库的方式访问,并且是免费的可用于商业项目的. 在VSTO中调用NPOI和EPPLUS,又是怎样一翻境界呢?因Excel催化剂主要是为数据分析群体服务,其中大量的场景是面积大数据量的…
在插件开发过程中,随着功能越来越多,用户找寻功能入口将变得越来越困难,在Excel催化剂 ,将采用遍历所有功能的方式,让用户可以轻松使用简单的查找功能找到想要功能所在位置,查找的范围有:功能按钮的显示名称.功能说明等.   按钮功能查找关键词文本来源 这个遍历功能区按钮属性,不确定在xml功能区中能否实现,在设计器功能区,因其已经被强类型为一个类对象,用反射技术可以将这个Ribbon类下所有的控件及属性给遍历出来.详细可参考功能第78波说明.   功能区效果 同样地,自定义函数也可以用遍历的方式…
在传统的VBA开发中,若是用的是普通加载项方法,是可以存储数据在xlam上的,若用的是Com加载项方法同时是Addins程序级别的项目开发的,配置文件没法保存到工作薄中,一般另外用配置文件来存放供调用. 但无论以上两种方式都会带来一点缺陷,若用户配置好自己的数据,这些配置数据只能保存到自己电脑上,无法在文件共享给其他人使用时,配置文件一并传递过去. 当然一个折衷的方式是,在Excel文件中新建一个工作表并隐藏它来实现配置数据跟着工作薄一起带走. 这种方式有一缺点是,在用户工作薄里进行数据操作,用…
VSTO插件开发完成后,鉴于现在WPS用户也不少,很多时候用户没办法用OFFICE软件,只能在WPS环境下办公,VSTO开发的插件,只需增加一句注册表信息,即可让WPS识别到并调用VSTO开发的功能,可能部分功能让WPS使用要考虑WPS是否有相应的API接口,这是后话,本帖给大家粘出代码及程序,让用户双击即可完成,exe封装,无需给用户注册表文件让用户畏惧或其他安全软件报警. 为了让所有插件都能顺利被WPS识别到,索性来一个遍历,所有插件都在注册表里添加一条记录供WPS识别,注册表增加几条记录,…
在Excel开发过程中,大部分时候是和Range单元格区域打交道,在VBA开发中,大家都知道的一点是,不能动不动就去遍历所有单元格,那性能是非常糟糕的,很多时候,是需要把整个单元格区域装入数组中再作处理的. 在VSTO开发中,难不成还要用VBA这套老掉牙的东西来做吗?VBA的二维数组在.Net的世界中,真的一无是处,太多比它好用的东西存在,其中笔者最喜欢用的是DataTable这样的结构化的数据结构. 从单元格到DataTable,其实也就几句代码的事情,当数据进入到DataTable后,可以使…