题外话 本人也是从Excel的VBA语言入门了编程世界的,然后很偶然的机会接触到VSTO,并且在一位热心的网友一路的帮助下,算是入门了C#语言,现在可以灵活地用C#实现自己想要的一些小功能(大部分是抄百度和...例如今天介绍的几个加密函数,在.Net Framework类库里,直接有现成的代码,几乎可以直接调用的程度,对于一些非OFFICE环境内的功能实现来说,使用VSTO开发或C#、VB.Net开发,开发效率还是有很大的提升...,重新定义Excel函数的学习和使用方法 第5波-使用DAX查询从PowerbiDeskTop中获取数据源 第6波-导出PowerbiDesktop模型数据字典 第7波-智能选区功能 第8波-快速可视化数据...波-文本处理类函数增强 第44波-可见区域复制粘贴不覆盖隐藏内容 第45波-逻辑判断函数增强 第46波-区域集合函数,超乎所求所想 关于Excel催化剂 Excel催化剂先是一微信公众号的名称,后来顺其名称...,且需可连接外网的方式实现自动更新机制,若下载安装过程中有任何疑问或需要离线版安装等,尽量不单独私聊询问,加QQ群可高效解决(群内已汇集了VSTO开发、Powerbi技术、Sqlserver商业智能等方面的国内顶尖大牛人物
Excel的二次开发有一极大的优势所在,可以结合用户的交互进行程序的运行,大量用户的交互,都是从选择对象开始,用户选择了单元格区域、图形、图表等对象,之后再进行程序代码的加工处理,生成用户所需的最终结果...所以熟练处理选择对象,尤其关键,而在VBA里的使用方法,来到.Net中特别是C#语言下,就需要另外的代码处理,希望此篇的分享给VBA转VSTO的朋友们带来一些帮助指引。...Debug.Print 1 End If End Sub 在C#中,想引用TypeOf方法,就要引用VisualBasic的Dll,麻烦,其实在C#里,可以直接用 is 和 as 的语句来实现此类的判断...结合Excel催化剂开发的判断选中Selection是区域还是形状来做图形调整的功能,给大家分享下源代码。...此代码中,用户选定的Selection对象,有三类 单元格区域,类型为:Range,只获取单元格区域下的形状。 多个形状,类型为:DrawingObjects,获取选中的多个形状。
在VSTO开发或其他COM技术开发过程中,甚至VBA也是,在和Excel交互中,难免会遇到性能瓶颈问题,COM技术的交互实在太慢,对大量数据读写等操作,耗时太长,容易卡用户界面以为是程序死机等等。...在专业程序猿开发群体,极少直接用COM的方式来访问Excel文件,都是以其他的非COM如最为流行的NPOI和EPPLUS类库的方式访问,并且是免费的可用于商业项目的。...在VSTO中调用NPOI和EPPLUS,又是怎样一翻境界呢?...在Excel催化剂上的使用场景 数据导出场景 在前一波中提到,DataTable的数据导出Excel单元格区域上,我们已经提及到若数据量大,改用EPPLUS来导出,在EPPLUS上将数据导出到工作表,只需一个现成的已封装好的方法...遍历单元格属性 同样的,若不是仅仅获取单元格上的数据,而是需要获取单元格的其他属性如字体颜色、填充颜色、字号、字体名称、样式等信息时,用COM访问的方式,也是有十分大的性能瓶颈问题。
因此使用Excel的群体中,自然地区分出了初级用户、中级用户、高级用户。 Excel催化剂致力于打造Excel用户易用、易学,但同时实现功能却又是震撼的愿景。...函数额外知识点需求,大概懂原理一下就好 知道什么叫函数嵌套 函数嵌套简单地说就是上面提到的参数不是由简单的一个区域或一个值所得,乃是由另外内层函数计算的结果值作为参数的值。...,我只是把他们开发好的函数(在C#/VB.NET里使用)搬到Excel上而已,我也是用它们的黑箱,不是我自己造的,有现成的谁不去用还自己傻傻地写代码!!...能区新增关于数组公式的一些处理(选择、删除、数值化、更新) 数组公式只能成批输入、编辑、删除,若只选择数组公式引用的单元格区域的一部分,操作将会报错。 ?...,若下载安装过程中有任何疑问或需要离线版安装等,尽量不单独私聊询问,加QQ群可高效解决(群内已汇集了VSTO开发、Powerbi技术、Sqlserver商业智能等方面的国内顶尖大牛人物,进群的好处不用多说了
VBA的代码 这说明在Excel高级开发群体中,特别是VSTO、COM加载项开发群体中,还是守口如瓶的,仿佛越是高级的开发者,越对自己掌握的“核心”技术保密,希望Excel催化剂这一系列的开源文章对此风气有所好转...2.VSTO开发的确还是很冷门,没有进入专业开发者的视野中 对于工作表密码破解这些,肯定是OFFICE开发者的专业领域,就算国内不开源,找国外,也没找到多少,所以此篇简单开源,还是有此必要性的。...没想到还是一如既往地正常破解,包括现在Excel365仍然能够成功。...方式未能破解成功,印象中还有一个问题是不懂得如何改写回.Net的C#代码,看到的是一大坨的VBA代码,也看不懂。...此篇简单地实现广大开发者广为熟知的功能,代码换成了C#的形式,可在VSTO上实现此功能,希望此代码段在愿意学习、查找的人手中能被找到并复用起来。
这里的选区即是工作表上已选定的单元格区域,请提前对隐藏、自动筛选的单元格进行显示 ?...选择的区域,只有一列 ? 插入完成后,是一整行上做插入的 删除空行,按选区 同理,删除的过程也和插入的过程类似,区分是整行删除还是只删除选区部分,其他内容不删除。...最后报表层面的插入空行、空列,如排版工资条、标签数据之类的需求,其实大可以用Excel催化剂在第13波里推出的批量生成自由报表功能,灵活定制自己所需的报表样式,这些空行的设定也可在模板中设定好,程序自动生成不同记录间保持有空行...,重新定义Excel函数的学习和使用方法 第5波-使用DAX查询从PowerbiDeskTop中获取数据源 第6波-导出PowerbiDesktop模型数据字典 第7波-智能选区功能 第8波-快速可视化数据...,且需可连接外网的方式实现自动更新机制,若下载安装过程中有任何疑问或需要离线版安装等,尽量不单独私聊询问,加QQ群可高效解决(群内已汇集了VSTO开发、Powerbi技术、Sqlserver商业智能等方面的国内顶尖大牛人物
网页控件内嵌单元格区域,用到的技术其实之前在Excel催化剂的其他功能上早已采用过,如插入图片功能、关键词逐字提示快速录入功能和插入日期控件几大功能中都使用过。...其实现的原理是利用VSTO插件特有的并且是Excel开发特有的,在工作表范围内使用自定义控件的方式,让插件插入自定义控件,而自定义控件可以是.net开发里的winform窗体任意形式的自定义控件,如插入图片时为...但因本功能的初衷是为了丰富EasyShu的作图后的图表展示效果,可回到Excel单元格区域展示,已安装过EasyShu2.4及以上版本的,已经集成了MiniBlink的网页控件配置文件及启动程序。...同样地插入后的网页,不能类似普通图片那样轻松选择调整大小删除移动位置。如果有使用过Excel催化剂的插入图片功能,就可以知道其中的不同。...通过在网页控件鼠标右键弹出的上下文菜单中,可供满足上述的需求。 关于冻结单元格区域,这里简单说明下,在不作冻结的默认情况下,鼠标滚动操作是对Excel工作表的单元格区域右侧滚动条的滚动操作。
面向对象编程,代码管理更方便,其实本人也不太有面向对象的编程思想,不能编出给其他人用的类,但却可以源源不断地用别人封装好的类库,属于编程群体中的使用者,非制造者。 2....学习资料很匮乏,一开始想着VBA转VB.net,语法是同一母系,门槛不高,但入门后发现很难再有更多的资料介绍了,C#语言倒还好些,视频、书籍都比较丰富,但需要给自己一个决心,狠狠啃上个把月,才能入门成功...开发自定义函数的利器,VSTO开发自定义函数在发布给用户机器使用时麻烦,要对注册表注册,需要管理员权限,但Excel-DNA开发的完全没有这些烦恼,用户双击即可打开使或进行加载项载入,下次打开Excel...可以利用作者实现的异步功能,开发数组函数可以不需用户Ctrl+Shift+Enter麻烦输入,直接像普通函数一样输入,但最终可以返回多个值,同时在运算效率和性能得到显著提升。 1.8....开发非自定义函数以外的功能,如功能区开发等,没有VSTO来得方便 内容预告 今晚文字写得有点多,没时间录视频,明晚录个视频给大家感受下Excel-DNA的魅力,敬请期待。
上篇提到如何从Excel界面上拿到用户的数据,另外反方向的怎样输出给用户数据,也是关键之处。 VSTO最大的优势是,这双向的过程中,全程有用户的交互操作。...而一般IT型的程序,都是脱离用户的操作,只能让用户准备好数据,离开Excel,或生成数据,要重新打开某文件才能获取到数据结果。...在VSTO中,用户随时在Excel最强UI前端中生产数据,同时也在获得数据结果后,无缝地利用Excel强大的数据处理能力进行数据的再次加工如Vlookup一些其他信息进来,做个图表展示等等。...言归正传,如何DataTable数据导出至单元格区域 在传统的VBA方法中,有ADO的某个方法CopyToRange,直接将DataRecordset的数据输出至单元格区域。...在VSTO中,提供了ListObject的数据对象,区别于传统VBA中能够使用的ListObject。
此乃旧文,题目改一下,有点系统性,JSA助攻第一波:可以通过Application.Run接口,让外部程序或VSTO/ExcelDNA项目可以调用JSA的宏代码。...以下是历史内容: 在WPS的个人版上,默认只有JSA宏,没有VBA宏,虽说在VSTO/ExcelDNA项目里或者外部程序如C#/python等可以使用COM通信来调用WPS的COM开放的接口。...但是WPS的COM接口,表面是和Excel通用,但也有许多bug存在。暂时没有测试到是否存在JSA宏正常而VBA宏不正常的情况。...在VSTO里可以调出webshape网页控件等,非常广阔的应用场景。 现如今,还真可以了。稍有点曲折,但总算是可以做到在windows环境下实现调用JSA宏的愿景。...,xlsm文件打开后,里面的JSA宏是程序级别的,可以用到其他工作薄中。
在常规自定义函数的世界中,一般情况下,仅会输入一堆的参数,最终输出一个结果值,在以往Excel催化剂的自定义函数,已经大量出现输入一堆参数返回多个结果值并自动输出到多个单元格区域内。...使用场景 在数据库环境、编程环境中,大量的使用集合的概念,两个集合之间的运算有以下五种情况,今天Excel催化剂将实现第1、4、5三种情形,在单元格区域的多个值组成的集合中。 ?...,重新定义Excel函数的学习和使用方法 第5波-使用DAX查询从PowerbiDeskTop中获取数据源 第6波-导出PowerbiDesktop模型数据字典 第7波-智能选区功能 第8波-快速可视化数据...Excel催化剂插件下载链接:https://pan.baidu.com/s/1kDtFkM5KZ4R1lAO0TO07AA 因插件使用VSTO开发技术完成,插件的安装需要电脑满足相关的环境配置才能运行...,且需可连接外网的方式实现自动更新机制,若下载安装过程中有任何疑问或需要离线版安装等,尽量不单独私聊询问,加QQ群可高效解决(群内已汇集了VSTO开发、Powerbi技术、Sqlserver商业智能等方面的国内顶尖大牛人物
在WPS的个人版上,默认只有JSA宏,没有VBA宏,虽说在VSTO/ExcelDNA项目里或者外部程序如C#/python等可以使用COM通信来调用WPS的COM开放的接口。...但是WPS的COM接口,表面是和Excel通用,但也有许多bug存在。暂时没有测试到是否存在JSA宏正常而VBA宏不正常的情况。...在VSTO里可以调出webshape网页控件等,非常广阔的应用场景。 现如今,还真可以了。稍有点曲折,但总算是可以做到在windows环境下实现调用JSA宏的愿景。...function 打开网页(urlStr) { var sht= Application.ActiveSheet; sht.Shapes.AddWebShapeEx(urlStr) } 用外部程序例如C#...,xlsm文件打开后,里面的JSA宏是程序级别的,可以用到其他工作薄中。
因Excel催化剂用了VSTO的开发技术,并且为了最好的用户体验,用了Clickonce的布署方式(无需人工干预自动更新,让用户使用如浏览器访问网站一般,永远是最新的内容和功能)。...仅以此文简单罗列一下,希望能够给广大用户一些实质性的指引(安装成功过Excel催化剂插件或安装成功过其他的VSTO开发的Excel插件,对另外安装其他类似的VSTO插件将会非常容易,所以很有必要一次艰难...Excel催化剂功能第5波-使用DAX查询从PowerbiDeskTop中获取数据源 - 简书https://www.jianshu.com/p/21b2ca8fd2b8 Excel催化剂功能第6波-...证书导入成功.png 安装失败截图及解决方法 安装失败情况一:解决方法,按提示的路径找到文件,并把文件删除即可。 ?...,若下载安装过程中有任何疑问或需要离线版安装等,尽量不单独私聊询问,加QQ群可高效解决(群内已汇集了VSTO开发、Powerbi技术、Sqlserver商业智能等方面的国内顶尖大牛人物,进群的好处不用多说了
使用场景 日常使用Excel过程中,难免会碰上Excel文件反常地虚增大小的情况,明明只有几万行的数据,整个Excel工作薄文件却达到几十M的大小,超出合理大小的10多倍。...一般形状对象如图片等,还是比较占用空间的,工作薄虚大,很多时候是这个原因引起 其他原因引起 其他的原因引起较少见,如大量的名称定义,有隐藏的数据量大的工作表不知等,一般出现这些原因,普通用户对其进行删除操作...工作薄瘦身对以下两类数据进行删除操作: 形状对象,若其大小的高度或宽度小于3个像素单位时,对其删除 没有数据,可能有条件格式,颜色等内容的单元格进行清除(在有数据的最大区域范围外,数据区域内部有空单元格不受影响...一大波自定义函数高级应用,重新定义Excel函数的学习和使用方法 第5波-使用DAX查询从PowerbiDeskTop中获取数据源 第6波-导出PowerbiDesktop模型数据字典 第7波-智能选区功能...,且需可连接外网的方式实现自动更新机制,若下载安装过程中有任何疑问或需要离线版安装等,尽量不单独私聊询问,加QQ群可高效解决(群内已汇集了VSTO开发、Powerbi技术、Sqlserver商业智能等方面的国内顶尖大牛人物
在.Net的世界中,恰恰提供了这样的能力,用LINQ,仿佛回到了写SQL语句查询的环境中,对编辑中的使用的各种对象集合,在排序、筛选、去重等SQL语句常用的功能上,在LINQ的帮助下,一样可以对代码中的集合对象进行这些操作...所以在VBA的世界中,对某对象进行排序、筛选、去重等操作,在VSTO的世界中,使用LINQ来操作,将变得十分简单。...具体地址为:https://github.com/paulyoder/LinqToExcel 在Excel上使用LINQ访问集合对象 简单演示下用过的一些小代码 获取当前数据区域中的非隐藏行的行号集合。...0).Select(t => t.Row - srcRangefirstRow).ToArray(); return visibleRowIndexs; } 获取数据区域单元格...,过滤隐藏、错误、空值等 public static IEnumerableExcel.Range> GetUsedDataValuesFromActiveSelection()
视频演示 Excel催化剂已正式在千聊上发布视频,如查阅文章有理解障碍,不妨查看下视频,视频不定期更新,内容丰富,干货满满,有术亦有道!...批量打印的第1步,无需设置文件信息 三、对获取到的工作表清单进行确认 因有可能一个工作薄中,有多个不同类型的工作表,只有部分工作表才是需要导出PDF或打印的,故需要做一个判断,把不需打印的行删除或隐藏。...、页边距、打印区域等一系列的精细化设置。...Excel催化剂插件下载链接:https://pan.baidu.com/s/1kDtFkM5KZ4R1lAO0TO07AA 因插件使用VSTO开发技术完成,插件的安装需要电脑满足相关的环境配置才能运行...,且需可连接外网的方式实现自动更新机制,若下载安装过程中有任何疑问或需要离线版安装等,尽量不单独私聊询问,加QQ群可高效解决(群内已汇集了VSTO开发、Powerbi技术、Sqlserver商业智能等方面的国内顶尖大牛人物
3.性能:a.List(Of String()): 由于是动态集合,某些操作(如添加、删除)可能比固定大小的数组更快。...6.接口和功能:a.List(Of String())提供了更多的方法和功能,如排序、搜索和迭代等。而Array(,)则提供了一些基本的操作和函数。...(2)VSTO外接Excel中List(of string())如何输出到Excel工作表 在VB.net中,要将List(Of String())快速输出到Excel工作表中,您可以使用Microsoft...(3)VSTO外接Excel中arr(,)如何输出到Excel工作表 在VB.net中,二维数组arr(,)可以批量输出到Excel工作表中,但您需要使用适当的库来操作Excel。...要运行此代码,您需要添加对Microsoft Excel Object Library的引用,并确保已安装Microsoft Office。
因Excel本质是3大类型数据结构:文本、数值、和其他错误、逻辑值等。...匹配区域选择 因文本处理为破坏性操作,正则也很难一次性保证书写正确,可先用【匹配区域选择】,查看下写的Pattern和Options配置,是否和预期想要匹配的相符,对应到相关的单元格上被选择出来。...替换匹配字符 此处为把匹配到的文本,替换为【正则替换参数】,若留空将进行删除操作,替换为空字符就是删除了原匹配到的内容。...第4波-一大波自定义函数高级应用,重新定义Excel函数的学习和使用方法 第5波-使用DAX查询从PowerbiDeskTop中获取数据源 第6波-导出PowerbiDesktop模型数据字典 第7波...,且需可连接外网的方式实现自动更新机制,若下载安装过程中有任何疑问或需要离线版安装等,尽量不单独私聊询问,加QQ群可高效解决(群内已汇集了VSTO开发、Powerbi技术、Sqlserver商业智能等方面的国内顶尖大牛人物
使用场景 在数据临时加工处理过程中,难免会对数据进行简单的复制粘贴操作,而一般来说,表格内也同时会临时性的大量的因自动筛选和手动隐藏操作,有大量的隐藏的单元格区域。...而对粘贴的方式又区分了是粘贴公式还是直接转换为值内容粘贴。...多行列区域粘贴 此操作只能进行粘贴值操作,因粘贴公式,需要太复杂的处理,实用性也不强,出来的结果可能也多数不合预期。 此操作可突破单次选择的单元格区域为不连续的区域亦可操作。...,重新定义Excel函数的学习和使用方法 第5波-使用DAX查询从PowerbiDeskTop中获取数据源 第6波-导出PowerbiDesktop模型数据字典 第7波-智能选区功能 第8波-快速可视化数据...,且需可连接外网的方式实现自动更新机制,若下载安装过程中有任何疑问或需要离线版安装等,尽量不单独私聊询问,加QQ群可高效解决(群内已汇集了VSTO开发、Powerbi技术、Sqlserver商业智能等方面的国内顶尖大牛人物
领取专属 10元无门槛券
手把手带您无忧上云