当我们接倒具体的需求时,需要的是一个完整的解决方案,目前国内资料都是零散的功能实现。
本专栏将包含Web传参、读取Excel数据、自定义公式、Web调用VSTO项目、发布等整个开发过程。遇到问题可私信本人,如果没有及时回复,可邮件1327055294@qq.com。
感谢以下几篇有价值的VSTO博文,对我开发很有帮助,感谢前辈!
很多VSTO Excel博文中的代码已经过时了,是VBA的实现方式,有的对象的属性没法直接点出来,手打上去不会报错,运行时会有数据,也有可能报错。
关于VSTO细节的,相对有些完整的博客 杨仕航的博客
关于自定义公式函数的,参考这篇自定义公式
即使有多年.Net开发经验,相信许多初次接触Office开发的还是一脸懵逼。什么鬼,资料怎么那么少,别急,先从建项目熟悉起来。
首先先了解概念VSTO,即Visual Studio Tools for Office,是VBA的代替。VSTO针对office产品的开发都以插件形式存在,都需要安装最低版本的office。
当你开始着手新建项目时,你会发现有多个项目类型,该怎么选?
- 外接程序 应用级应用 作为加载项插件形式存在任何Excel文档中
- Excel工作簿 文档级应用 只针对当前文档
Bug提示:新建与打开此类项目时可能报错,必须要以管理员权限打开VS(启动VS时,右击以管理员权限运行)
在具体的开发中,由于网上资料少,看到的都是零散的,VSTO项目中可以添加WindowsForm窗体和功能区(可视化设计器,自动运行)来开发复杂功能
功能区(可视化设计器)是用来添加按钮方便我们进行具体功能开发的,具体的插件显示方式有两种,如下:
- 默认是在加载项中,运行时不一定显示,再开发工具-COM加载项中勾选和项目同名的加载项。拖动的控件最终会显示在加载项中,建议使用下面一种。
- 以Tab选项卡存在,可以修改内置的Tab,也可以拖动下图左侧按钮。修改默认的需要修改下图右侧属性,将Office改成Custom
运行后如下图