//打开文件 OpenFileDialog file = new OpenFileDialog(); //file.Filter = "Excel...(*.xlsx)|*.xlsx|Excel(*.xls)|*.xls"; file.Filter = "Excel文件 |*.xlsx;*.xls"; file.InitialDirectory...return null; using (DataSet ds = new DataSet()) { //判断Excel...connString = "Provider=Microsoft.Jet.OLEDB.4.0;" + "Data Source=" + path + ";" + ";Extended Properties=\"Excel...connString = "Provider=Microsoft.ACE.OLEDB.12.0;" + "Data Source=" + path + ";" + ";Extended Properties=\"Excel
前面一种介绍了许多VSTO开发的插件一些功能和零散提到VSTO开发的一些好处,今天在这里来个180大翻脸,开始谈下VSTO开发插件的一些不足。...开发自定义函数的利器,VSTO开发自定义函数在发布给用户机器使用时麻烦,要对注册表注册,需要管理员权限,但Excel-DNA开发的完全没有这些烦恼,用户双击即可打开使或进行加载项载入,下次打开Excel...可以利用作者实现的异步功能,开发数组函数可以不需用户Ctrl+Shift+Enter麻烦输入,直接像普通函数一样输入,但最终可以返回多个值,同时在运算效率和性能得到显著提升。 1.8....Excel-DNA可以用visual studio社区版开发,Excel-DNA同时也是开源免费的。 1.9....开发非自定义函数以外的功能,如功能区开发等,没有VSTO来得方便 内容预告 今晚文字写得有点多,没时间录视频,明晚录个视频给大家感受下Excel-DNA的魅力,敬请期待。
在VSTO开发中,有更好的方式,此篇给大家一一分享。...原理是使用剪切板将图片复制到内存剪切板中,再由剪切板转换为图片,在复制过程中,我们需要考虑原始的图片在Excel上显示是已经缩放过的,需要将其放大为原始尺寸再复制。...return returnImage; } 核心代码中shape.ScaleHeight方法,可以将图片放大,特别是图形Shape类型时,可以按原始图来放大,其他的按实际显示的大小来放大...结语 此篇再次让大家见识了VSTO开发较VBA开发的一大优势,有大量的.Net下的Winform技术可供使用,像剪切板对象,其就是System.Windows.Forms命名空间下的类。...同时VSTO框架下,大量的特有功能,如PictureBox窗体宿主控件等可以大大地丰富了原生Excel的功能,也是VBA开发所不能享受到的好处。
在VSTO开发过程中,因其和普通的Winform开发有点差别,具体细节笔者也说不清楚,大概是VSTO的插件是寄生在Excel中,不属于独立的进程之类的,其异步方法调用时,未能如Winform那样直接用await...使用场景 在Excel上直接使用异步方法,貌似有上述提及的问题,不像Winform程序那样,需要Excel上调出窗体,再从窗体上作异步方法的操作,直接调用的话,遇到用户用键盘、鼠标交互Excel操作会报错...Excel催化剂中有些操作与外部资源交互特别是外部网络访问时,若不使用异步方法,将会卡界面,用户感觉死机了一样。 使用异步方法后,可以有一些状态信息反馈给用户知道程序还在运行,是十分有必要的。...以下举例Excel催化剂批量下载文件的功能。...因为VSTO的特殊性,可能这些问题,在专业程序猿群体中,不会遇到,但在VSTO开发群体中,这里的确是个大坑,希望给大家填补此坑后,大家可以更顺畅地写出更好的代码。
关注过之前EasyShuForPPT功能的朋友可知,在PPT上实现网页控件集成已经完美实现了,同样地,在Excel环境中,除了在任务窗格上显示外,本次国庆更新,增加了在单元格区域显示网页的功能。...使用与EasyShuForPPT同样的底层网页控件,故同样可实现在线、离线、登录与否等一切只要是html的网页显示。...其实现的原理是利用VSTO插件特有的并且是Excel开发特有的,在工作表范围内使用自定义控件的方式,让插件插入自定义控件,而自定义控件可以是.net开发里的winform窗体任意形式的自定义控件,如插入图片时为...传送门:Excel催化剂开源第9波-VSTO开发图片插入功能,图片带事件 本篇的网页控件也一样,其不过是使用了第三方网页控件MiniBlink,一款体积最小的基于Google浏览器内核的开发组件。...在Excel催化剂中使用网页控件,前提是Excel催化剂在线版到最新版或离线版v20201006,同时安装好EasyShu2.4制作ECharts图表所需的主程序及配置文件并启动过EasyShu插件,只有完成这些
最近在忙中抽闲,看我的桌面太过死了,不生动,不可爱=。=。。 然后默默的想写一个动态桌面的一个小东西活泼一下。。。 随后拿起来了N久不碰的C#(本人C#渣,不,应该说什么都渣。。。)...结果在winform全屏化的时候,遮挡了下面的任务栏;这样的话体验性就不好了,这几天找了n多方法,一搜某度,发现都是。。。2013年左右的资料。。。简直,唔,还有。。。都是xp系统的测试。。。...我也不懂是不是我的搜索技术不达标,不过我搜索出来的都是说: this.TopMost = true; this.FormBorderStyle = FormBorderStyle.None; this.WindowState...(|||||=.=) 最开始本来说直接嵌入桌面的,把winform、、结果发现xp,vist之后的基本上都不行。 =。=。。。 我还想过要给任务栏获取焦点=。=。。。结果。发现有点不对。。。
2、将DataGrid控件中的数据导出Execl 上述方法虽然实现了导出的功能,但同时把按钮、分页框等html中的所有输出信息导了进去。而我们一般要导出的是数据,DataGrid控件上的数据。...].Weight = XlBorderWeight.xlThick;//设置下边线加粗 // //显示效果 // excel.Visible=true; ...在asp.net中,是在服务器端读取数据,在服务器端把数据 以ms-execl的格式,以Response输出到浏览器(客户端);而在winform中,是把数据读到客户端(因为winform运行端就是客户...asp.net导出Excel/Csv格式数据最优方案(C#) 好久没有写点什么了,也许是太忙。一年了,积累了不少好的东东,有机会时就写出来与大家分享。 好,言归正传。...那我就改改显示格式吧,改为把数字显示为文本,好了。可是国家的身份证升级了,号码变成18位,我把它输入到数据库,导出来时,用刚才的方法处理过,18位没错,可是最后三位怎么都是零了!
现如今,高分屏显示器越来越普及,一般VSTO插件或ExcelDna插件,都是传统winform窗体作界面为主,这个会引起在高分屏上的显示严重变形。...在笔者之前的尝试中,使用过SunnyUI这个UI库,来避免窗体变形问题,但这个UI库,虽然较为美观,还不是终极的解决方案,在高分屏上显示的窗体会很小(不知道最近有没改善,这个印象是在1-2年前建立的,如果有改善...经过不住的努力,终于能够对handyControl这个库的自定义主题颜色进行适配,可以让不同插件使用不同的主题颜色来呈现,如下图是Excel催化剂和EasyShu两款插件,各自用不同的主色系来完成窗体定制
像Winform开发的VSTO,只能羡慕的份。和一般Winform上用的RichText控件,别人BS的富文本编辑器就强大得多。...在Excel催化剂的批量邮件功能中, 为了得到最好的体验,不止是不用依赖OUTLOOK的组件来发邮件(好像VBA的方案只能用outlook组件,用户电脑没安装outlook就不能用),同时为了让用户可以在邮件正文编辑区的使用体验和...不单单可以在里面作一些格式的配置,还可以有打开html文件,直接从网页其他地方复杂内容直接粘贴和插入本地图片,有了这些能力,在发送邮件正文时,使用体验就非常棒,可以发送出去的邮件正文,不是纯文本的形式,毫无格式,同时可以发送本地图片...this.SendInfoListObject.ListColumns["发送状态"].Index; string htmlBodyContent = this.kEditor1.Html; foreach (Excel.ListRow...所以VSTO和VBA开发,真的有一个本质的区别,VBA大不了最多用下系统的API函数,OFFICE的对象模型,但在VSTO的世界里,只要用心找,可以尽性地用尽一切世界上优秀的代码轮子。
oDiv1.style.display = 'none'; oDiv2.style.display = 'block'; //这个地方显示... oDiv2.style.display = 'none'; oDiv1.style.display = 'block'; //这个地方显示
VSTO项目开发完毕完,最终需要分发给用户,需要Excel催化剂用的是Clickonce发布方式,但也面临到部分用户环境要求太高,设置过程太繁锁,而要求有一些简单的安装方式,用打包工具将其打包为一个EXE...Excel催化剂一直也同样有提供离线版打包工具打包成EXE文件一键安装的方式,不过鉴于Excel催化剂功能还在不断迭代开发中,打包的方式,暂时还不会做自动更新功能,所以不建议使用离线版安装 在Excel...观察Advanced Installer的打包向导,也感觉是VSTO的程序只能安装给当前用户使用,界面上是变灰显示的。...选择vsto文件 想在用户安装过程中,同时运行其他程序 这里说的其他程序,并非指的是VSTO运行时、.Net Framework框架这些,而是可以运行其他命令。...可以使用自定义动作向导设置运行exe,配置好相应的exe位置信息,即可完成安装插件过程中,也同时运行其他exe文件。
VSTO中应用的例子,希望给大家有点启发 在VB.net中WinForm+Backgroundworker+StatusStrip范例 以上是在VSTO的窗体 下面是代码部分 Imports System.ComponentModel...Public Class Form_backgroundworker Dim ShowFlag As Boolean = True Dim actCell As Excel.Range
相信不少使用传统OFFICE开发技术的开发人员,对Winform的控件拖拉再自然不过了,无论是VBA的窗体,还是VSTO的窗体,都是一样的套路,拖拉控件绑定事件,一切都再自然不过了。...这个可视化拖拉控件,有点接近我们winform的控件拖拉,但需要做出自己想要的效果,也是需要慢慢摸索一下。给大家提供一个方向可学习。...同时magicalcoder是基于现有的框架再封装,最后先熟悉下里面的框架,再用其工具为宜,否则出现一些难以预料的结果,就不知道如何是好,例如它自动化写出的渲染代码,把人家官方的很多细节给淹没了,最终想回到官方的一些细节效果就不管用了...把它的可视化拖拉部分用透就差不多了,可以很方便我们不用手写html和css就拿到自己想要的效果,有点类似Excel录制宏的效果,出来的html代码再自己小改一下,即可完工。
通常许多的知识都是在知与不知之间,不一定非要很深奥,特别是Excel这样的应用工具层面,明明已经摆在那里,你不知道时,永远地不知道,知道了,简单学习下就已经实现出最终的功能效果。...在程序猿世界里,也是一样,很多工具类的功能,可以在代码里复用,当不知道时,自己从头造轮子,也是一件吃力不讨好麻烦事。...此篇提供一些简单的知识点,部分有代码段,部分只是操作界面即可得到,供VSTO新手们学习。...以下为VBA代码,通过录制宏即可得到,将单元格内容居中显示。...整个设置过程中,只需界面的方式设置,同时选择对应的数据类型,同时需要注意范围是用户还是应用程序级的。
具体场景 场景一、某些情况下才显示某个按钮 在Excel催化剂中,有一个【智能选区】的菜单,仅在用户选择数据区域,且仅选择一个单元格时,才会显示出来。...不符合要求,不显示按钮 符合要求显示按钮 具体代码如下: public void ExcelApp_SheetSelectionChangeGalSelectRangeVisibleOrNot...} catch (Exception) { } } 场景二、动态加载菜单项目数量 某些菜单下的内容不固定...开发,可以有现成的功能区设计器模式可利用,无需手工书写xml功能区,作大量的回调函数处理等,并且在动态显示、隐藏控件、动态添加菜单子项等操作都非常灵活方便,不失为VSTO开发的一大优势,虽然VSTO也有其弱点...,但综合它带来的优势,笔者更喜欢使用VSTO来做开发。
:不破坏原有数据的情况下,通过逻辑关系处理,生成符合分析需要的目标数据。...显示转文本 有时对数值进行了数字格式的设置,使原本的数字在显示层面表现不同,若想重新存储显示层面的数据,可用显示转文本实现。 ? 数字格式影响数据显示 ?...用显示转文本后的效果 插入组 前面插入、后面插入也好理解,不细说。 中间插入 特意做了个示例效果,花了不少功夫,如果不记得可查看示例效果的展示,为了小白们,我也是拼了!...同时有从右边数起第几位,算是个小特色。 ? 中间插入操作,有示例指引 ?...上也能玩上词云图 第19波-Excel与Sqlserver零门槛交互-查询篇 第20波-Excel与Sqlserver零门槛交互-数据上传篇 第21波-Excel与Sqlserver零门槛交互-执行SQL
在插件开发过程中,随着功能越来越多,用户找寻功能入口将变得越来越困难,在Excel催化剂 ,将采用遍历所有功能的方式,让用户可以轻松使用简单的查找功能找到想要功能所在位置,查找的范围有:功能按钮的显示名称...grpInfo.GrpVisible : true; //当setting信息里有保存的话,用setting的信息显示关闭与否,否则用true control.Click...= Microsoft.Office.Interop.Excel; using Microsoft.Office.Tools.Excel; namespace Excel催化剂 { class...项目里,仅需用Application.Run就可以访问到xll里的自定义函数ListUdfDesc,同时有个小要点是自定义函数返回的数组,下标是从1开始的Excel特有的,和.net的0为下标的不一样,...再一次验证了VSTO给一般开发者带来的便利性,特别是在设计器功能区上,带来了强类型的Ribbon类,可轻松访问此类里的所有对象,而增加此类的内容,仅需类似Winform那般拖拉控件即可完成,敏捷开发首选
题外话 本人也是从Excel的VBA语言入门了编程世界的,然后很偶然的机会接触到VSTO,并且在一位热心的网友一路的帮助下,算是入门了C#语言,现在可以灵活地用C#实现自己想要的一些小功能(大部分是抄百度和...一般像我这种水平的人,只需要不断地百度或google,就可以拿到现成的东西直接复用,VBA毕竟是业务开发者使用的编程语言,同时又是一个官方停止更新语言,仍然使用VBA做一些复杂的需求,有点吃力不讨好。...反正个人觉得挺可惜的,人的见识不广时,依仗自己有限的知识体系,来给自己盖一个绝对性的结论,以至很多时候还在低效地运行着。...系列文章 一文带你全面认识Excel催化剂系列功能 安装过程详解及安装失败解决方法 第1波-工作表导航 第2波-数字格式设置 第3波-与PowerbiDesktop互通互联 第4波-一大波自定义函数高级应用...上也能玩上词云图 第19波-Excel与Sqlserver零门槛交互-查询篇 第20波-Excel与Sqlserver零门槛交互-数据上传篇 第21波-Excel与Sqlserver零门槛交互-执行SQL
因Excel催化剂用了VSTO的开发技术,并且为了最好的用户体验,用了Clickonce的布署方式(无需人工干预自动更新,让用户使用如浏览器访问网站一般,永远是最新的内容和功能)。...仅以此文简单罗列一下,希望能够给广大用户一些实质性的指引(安装成功过Excel催化剂插件或安装成功过其他的VSTO开发的Excel插件,对另外安装其他类似的VSTO插件将会非常容易,所以很有必要一次艰难...- 简书 https://www.jianshu.com/p/a758ac3e77e2 Excel催化剂功能第3波-与PowerbiDesktop互通互联 - 简书https://www.jianshu.com...完全兼容(市场上非VSTO开发的插件,很多就死在不能兼容64位OFFICE使用,日后会大量插件使用VSTO开发)。...历经重重难关,终于在数据的道路上达到技术平原期,学习众多的知识不再太吃力,同时也形成了自己的一套数据解决方案(数据采集、数据加工清洗、数据多维建模、数据报表展示等)。
GrapeCity Documents 是一款快速且高效的服务端文档组件包,可在 Windows、Mac、Linux 上完美运行,同时适用于 .NET和 Java 平台,可在不依赖 Microsoft...条件格式 GcExcel支持多种条件格式,如自定义图标集、判断是否高于平均值(AboveAverage)、发生日期判断、Top 10和重复项判断,且这些条件格式的设置规则与VSTO保持一致。...图表类型 GcExcel的图表界面与VSTO一致,支持约53种图表类型。 Apache POI对图表的支持非常有限,仅支持Line、Bar、Column、Scatter和Radar图表类型。...而GcExcel作为独立于平台的API 组件,具备高性能、低内存消耗的特点,并且与Excel对象模型严格兼容。...打开并保存一个20.5MB 的 Excel文件,其中包含了许多数据、公式和单元格格式,结果如下: GcExcel 用时不超过4.9S ;Apache POI 则达到10S左右 GcExcel 内存消耗为
领取专属 10元无门槛券
手把手带您无忧上云