Workflow的介绍
Workflow是一款实现自动化Excel操作的中文框架。
它底层是对VBA代码的封装,为了实现办公自动化而另学VBA和Python,对于大部分人都是比较困难的。
况且还需要查阅记忆对象模型,再加上微软系列的对象都看不到源码,查阅文档又是模糊不清的说法,有时候真的很让人抓狂。
所以之前就在想能不能做一个中文API的低代码框架,直接封装底层代码逻辑,用户只需要关心业务层面的逻辑即可。
Workflow的起源
虽然架构和前后端所有的代码都是我一点一点找文档敲的,但本质上Workflow这个创意并非是我独创的。
在我学习VBA的时候,就接触到了这个工具的雏形,所以才有了这样的灵感。
所以在我学完VBA和JAVA 之后就有了分享这款工具的想法,前端用VBA来做,后端用JAVA的Springboot来创建,才有了这款Workflow(联机版)。
Workflow的使用和操作
操作类型 | 参数1 | 参数2 | 参数3 | 参数4 | 参数5 |
创建工作簿 | 目标保存地址 | ||||
打开工作簿 | 文件地址-必须填写完整的链接地址 | 可选项: 更新链接:0 - 不更新, 3 - 更新;是否只读打开:0 - 否, 1 - 是 | 可选项: 打开密码 | 可选项: 写入密码 | |
关闭工作簿 | 文件名称-必须包含拓展名 | ||||
更改工作簿密码 | 密码 | 工作簿名称(workbook) | |||
保存工作薄 | 工作簿名称(workbook) | ||||
另存工作薄 | 工作簿名称(workbook) | 目标地址 | 可选项: 保存格式 默认-xlsx 1-xls 2-xlsm 3-csv 4-txt | 可选项: 打开密码 | 可选项: 写入密码 |
打开文件 | 运行程序 | 目标地址 | |||
复制文件 | 源地址 | 目标地址 | |||
删除文件 | 目标地址 | ||||
移动或重命名文件 | 源地址 | 目标地址 | |||
获取文件名和工作表名称 | 文件夹地址 | 目标位置-工作簿名称;工作表名称;起始单元格位置 | |||
打开文件夹 | 目标地址 | ||||
创建文件夹 | 目标地址 | ||||
复制文件夹 | 源地址 | 目标地址 | |||
删除文件夹 | 目标地址 | ||||
移动或重命名文件夹 | 源地址 | 目标地址 | |||
创建工作表 | 工作表名称(sheet) | 工作簿名称(workbook) | 可选项:放置位置 1 - 放前面,2 - 放后面(默认) | 可选项:根据哪个工作表放,默认为最后一个 | 可选项: 是否替换存在 1 - 替换, 2 - 不替换(默认) |
更改工作表名称 | 新名字 | 工作表名称(sheet) | 工作簿名称(workbook) | ||
复制工作表 | 工作表名称(sheet) | 工作簿名称(workbook) | 可选项:放置位置 1 - 放前面,2 - 放后面(默认) | 可选项:根据哪个工作表放,默认为最后一个 | 可选项:复制完工作表重命名 |
提取工作表 | 多个工作表名称 | 工作簿名称(workbook) | 可选项:保存地址 | ||
删除工作表 | 工作表名称(sheet) | 工作簿名称(workbook) | |||
移动工作表 | 根据哪个工作表放置 | 工作表名称(sheet) | 工作簿名称(workbook) | 可选项:放置位置 1 - 放前面,2 - 放后面(默认) | |
激活工作表 | 工作表名称(sheet) | 工作簿名称(workbook) | |||
保护工作表 | 密码 | 工作表名称(sheet) | 工作簿名称(workbook) | ||
解除保护工作表 | 密码 | 工作表名称(sheet) | 工作簿名称(workbook) | ||
选择区域 | 目标位置-工作簿名称;工作表名称;单元格范围 | ||||
复制单元格 | 源数据-工作簿名称;工作表名称;区间范围 | 可选项:目标位置-工作簿名称;工作表名称;单元格范围 | 可选项: 默认(留空)- 正常粘贴, 1 - 只粘贴数值, 2 - 只粘贴格式, 3 - 只粘贴列宽,4 - 粘贴公式 | 可选项: 是否跳过空格 默认 - 不跳过 1 - 跳过 | 可选项: 默认 - 不转置; 1-转置粘贴 |
清空数据 | 目标位置-工作簿名称;工作表名称;单元格范围 | ||||
重置单元格 | 目标位置-工作簿名称;工作表名称;单元格范围 | 可选项: 默认-自适应行高和列宽 1-不进行自适应 | |||
替换 | 旧数据 | 新数据 | 目标位置-工作簿名称;工作表名称;单元格范围 | 可选项:是否全匹配 1 - 全匹配,0 - 部分匹配(默认) | 可选项:是否区分大小写 1 - 否 2 - 是(默认) |
粘贴 | 目标位置-工作簿名称;工作表名称;单元格范围 | ||||
特殊粘贴 | 目标位置-工作簿名称;工作表名称;单元格范围 | 可选项: 默认- 正常粘贴, 1 - 只粘贴数值, 2 - 只粘贴格式, 3 - 只粘贴列宽,4 - 粘贴公式 | 可选项: 是否跳过空格 默认 - 不跳过 1 - 跳过 | 可选项: 默认 - 不转置; 1-转置粘贴 | |
剪切 | 源数据-工作簿名称;工作表名称;区间范围 | 目标位置-工作簿名称;工作表名称;单元格范围 | 可选项: 默认(留空)- 正常粘贴, 1 - 只粘贴数值, 2 - 只粘贴格式, 3 - 只粘贴列宽,4 - 粘贴公式 | 可选项: 是否跳过空格 默认 - 不跳过 1 - 跳过 | 可选项: 默认 - 不转置; 1-转置粘贴 |
填充 | 源数据-工作簿名称;工作表名称;区间范围 | 目标位置-工作簿名称;工作表名称;单元格范围 | 可选项: 填充类型 默认-智能决定, 1 - 仅复制值, 2 - 仅格式, 3 - 不带格式复制, 4- 填充序列 | ||
添加评论 | 评论 | 目标位置-工作簿名称;工作表名称;单元格 | |||
填写单元格 | 值 | 目标位置-工作簿名称;工作表名称;单元格范围 | |||
合并单元格 | 目标位置-工作簿名称;工作表名称;单元格范围 | ||||
拆分单元格 | 目标位置-工作簿名称;工作表名称;单元格范围 | ||||
自适应列宽或行高 | 目标位置-工作簿名称;工作表名称;行或列 | ||||
显示/隐藏行列 | 目标位置-工作簿名称;工作表名称;行或列 | 显示/隐藏 默认 - 隐藏, 1 - 显示 | |||
插入单元格 | 目标位置-工作簿名称;工作表名称;单元格范围 | 可选项: 向哪边移动单元格 默认 - 向下 1 - 向右 | |||
删除单元格 | 目标位置-工作簿名称;工作表名称;单元格范围 | 可选项: 向哪边移动单元格 默认 - 向上 1 - 向左 | |||
去重 | 目标位置-工作簿名称;工作表名称;单元格范围 | 可选项: 单元格范围的哪几列 默认 - 第一列 | |||
分列 | 目标位置-工作簿名称;工作表名称;单元格范围 | 可选项: 分隔符 默认-制表符, 0 - 空格, 1 - 制表符, 2 - 分号, 3 - 逗号, 4-其他 | 可选项: 其他分隔符 | ||
排序 | 必选项: 排序字段 默认 - 按字段名, 1;按单元格 | 目标位置-工作簿名称;工作表名称;单元格范围 | 可选项: 默认 - 升序, 1 - 降序 | ||
筛选 | 目标位置-工作簿名称;工作表名称;单元格范围 | 默认 -关闭 1 - 开启 | 筛选第几列 | 筛选条件 | |
更改字体颜色 | RGB 参数 | 目标位置-工作簿名称;工作表名称;单元格范围 | |||
更改字体大小 | 字体大小 | 目标位置-工作簿名称;工作表名称;单元格范围 | |||
字体加粗 | 目标位置-工作簿名称;工作表名称;单元格范围 | 可选项: 默认-加粗, 1 - 取消加粗 | |||
填充背景色 | RGB 参数 | 目标位置-工作簿名称;工作表名称;单元格范围 | |||
插入图片 | 图片文件地址 | 目标位置-工作簿名称;工作表名称;单元格范围 | |||
复制图片 | 源位置-工作簿名称;工作表名称;图片名 | 可选项: 放置位置-工作簿名称;工作表名称;单元格 | 可选项: 图片重命名 默认 - 原名字前面加上c- | ||
剪切图片/表格 | 目标位置-工作簿名称;工作表名称;图片名 | ||||
删除图片/表格 | 目标位置-工作簿名称;工作表名称;图片名 | ||||
重命名图片/表格 | 新的图片名 | 目标位置-工作簿名称;工作表名称;图片名 | |||
放大/缩小图片高度 | 倍数 | 目标位置-工作簿名称;工作表名称;图片名 | 可选项: 默认-根据图片原始大小 1-根据当前图片大小 | ||
放大/缩小图片宽度 | 倍数 | 目标位置-工作簿名称;工作表名称;图片名 | 可选项: 默认-根据图片原始大小 1-根据当前图片大小 | ||
翻转图片 | 目标位置-工作簿名称;工作表名称;图片名 | 可选项: 翻转方向 默认 - 水平翻转, 1 - 垂直翻转 | |||
更新数据透视表 | 目标位置-工作簿名称;工作表名称;数据透视表名称 | ||||
添加超链接 | 超链接的地址 | 目标位置-工作簿名称;工作表名称;默认-单元格;1-图片图表;图片图表名或单元格 | 可选项: 鼠标悬浮时提示 | 可选项: 显示的文本 | 可选项: 默认- 无下划线, 1 - 单下划线 |
打开超链接 | 目标位置-工作簿名称;工作表名称;超链接 | ||||
删除超链接 | 目标位置-工作簿名称;工作表名称;超链接 | 可选项: 是否一并删除超链接的文本 默认-删除, 1-不删除 | |||
发送Outlook邮件 | 标题 | 内容 | 收件人 | 附件地址 | |
输出文本到txt | 源数据-工作簿名称;工作表名称;单元格地址 | txt文件地址 | |||
压缩 | 源文件地址 | 压缩包的位置 | 可选项: 密码 | 可选项: 默认-7zip, 1-winzip | 可选项: 压缩程序位置 |
解压缩 | 解压的位置 | 压缩包的位置 | 可选项: 密码 | 可选项: 默认-7zip | 可选项: 压缩程序位置 |
下载网络资源 | 网络资源路径 | 目标保存地址 | |||
运行指定宏程序 | 文件地址;模块名;方法名 | 目标位置-工作簿名称;工作表名称;单元格范围 | 可选项: 参数1 | 可选项: 参数2 | 可选项: 参数3 |
Workflow的特殊说明
规则名 | 模式 | 说明 |
DATE | ^^DATE:format,offset^^ | Main工作表中可以放置日期,如果不防止默认为当天,format示例yyyyMMdd 代表20230301,offset 为0代表当天,-1代表上一个工作日;1代表下一个工作日 |
LASTDATA | ^^LASTDATA:cells,direction,offset^^ | direction:1 向上查找,2 向下查找,3 向左查找,4 向右查找; 上下查找行,左右查找列; offset负值为查找完成向上或向左偏移, 正值为向下或向右偏移 |
参数分割 | ;或者, | 所有复杂参数都是用分号(;)分割,所有特殊标识内的参数使用逗号(,)分割 |
筛选 | - | 操作之前请确保excel的目标位置没有被筛选隐藏, 隐藏的单元格是无法操作的 |
复制文件 | - | 使用操作"复制文件"打开后的文件后续无法操作,打开excel文件请使用操作"打开Excel" |
默认 | - | 若参数项存在默认可以直接留空 |
显示运行 | - | 1-开启,程序运行时可以直观看到,但速度会降低; 0-关闭,速度会有提升 |
登录密码 | - | 登陆密码后台也无法查询,如果忘记只能重新申请 |
地址 | - | 除了文件夹地址,其余地址都应当是路径+文件名 |
版本
1.0 框架基本完成
教程视频地址
https://space.bilibili.com/14481495/
Workflow下载地址
https://vipvan.cc/upload/Workflow.exe
Q.E.D.