[发明专利]一种多级标题的Excel表单生成方法及装置在审
| 申请号: | 202210874859.X | 申请日: | 2022-07-25 |
| 公开(公告)号: | CN115130447A | 公开(公告)日: | 2022-09-30 |
| 发明(设计)人: | 朱晓峰;黄峰 | 申请(专利权)人: | 中银金融科技有限公司 |
| 主分类号: | G06F40/18 | 分类号: | G06F40/18;G06F16/242 |
| 代理公司: | 北京集佳知识产权代理有限公司 11227 | 代理人: | 张静 |
| 地址: | 200120 上海市中国(上海*** | 国省代码: | 上海;31 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 多级 标题 excel 表单 生成 方法 装置 | ||
1.一种多级标题的Excel表单生成方法,其特征在于,包括:
在接收到表单生成指令的情况下,解析所述表单生成指令,得到预先配置的表单模板和用户输入的动态参数值;
解析所述表单模板,得到表单的多级标题中每个标题在Excel中的位置以及表单列与SQL语句中字段的映射关系;
根据所述表单的多级标题中每个标题在Excel中的位置,绘制所述表单的多级标题;
将所述动态参数值代入所述SQL语句,并执行所述SQL语句,每个所述动态参数值分别对应所述SQL语句中的一个字段;
依据所述表单列与所述SQL语句中字段的映射关系,将执行所述SQL语句后返回的数据分别填充到Excel的相应单元格。
2.根据权利要求1所述的方法,其特征在于,解析所述表单模板,得到表单的多级标题中每个标题在Excel中的位置以及表单列与SQL语句中字段的映射关系,包括:
调用递归算法解析所述表单模板中的多级标题表达式,得到所述表单的多级标题中每个标题对应的位置数组,位置数组表示标题在Excel中的位置,位置数组中的元素包括:标题名、开始行号、开始列号、结束行号、结束列号和特殊处理标志;
解析所述表单模板中所述表单列与所述SQL语句中字段的映射关系,得到每个所述表单列对应的映射关系数组,映射关系数组中的元素包括:表单列和字段名。
3.根据权利要求2所述的方法,其特征在于,所述多级标题表达式包括多个标题,标题之间通过间隔符隔开,标题之间通过嵌套标志表示标题之间的层级,所述嵌套标志包括开始嵌套标志和结束嵌套标志。
4.根据权利要求3所述的方法,其特征在于,所述调用递归算法解析所述表单模板中的多级标题表达式,得到所述表单的多级标题中每个标题对应的位置数组,包括:
定义所述递归算法中的全局列表变量、结构体和全局变量,所述全局列表变量由多个结构体构成,所述结构体中的元素包括:标题名、开始行号、开始列号、结束行号、结束列号和特殊处理标志,所述全局变量表示嵌套深度;
扫描所述多级标题表达式,若所述多级标题表达式中出现所述开始嵌套标志,则嵌套深度加1,若所述多级标题表达式中出现所述结束嵌套标志,则嵌套深度减1,最后将扫描过程中出现的最大嵌套深度赋值给所述全局变量;
以开始行为1且开始列为1开始,调用所述递归算法通过识别所述间隔符和所述嵌套标志依次解析所述多级标题表达式中的每个标题,输出以所述结构体表示的位置数组,其中,若标题包括所述嵌套标记,该标题包含子标题,所述结构体的结束行号等于开始行号,结束列号等于子标题的最大列号,若标题不包括所述嵌套标记,该标题不包含子标题,所述结构体的结束行号为所述全局变量的值,结束列号等于开始列号。
5.根据权利要求2所述的方法,其特征在于,在将执行所述SQL语句后返回的数据分别填充到Excel的相应单元格之后,所述方法还包括:
依次检测每个标题对应的位置数组中是否包括特殊处理标志;
若标题对应的位置数组中包括特殊处理标志且特殊处理标志为公式,从该标题下的第一行开始,根据所述公式以及已填充的单元格数据,依次计算该标题下所述表单列中各个单元格的数据,并进行相应填充。
6.根据权利要求5所述的方法,其特征在于,在依次检测每个标题对应的位置数组中是否包括特殊处理标志之后,所述方法还包括:
若标题对应的位置数组中包括特殊处理标志且特殊处理标志为合并,扫描该标题对应的标题列;若该标题列中的相邻行单元格的数据相同则执行合并单元格操作。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中银金融科技有限公司,未经中银金融科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202210874859.X/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种管道清淤机器人
- 下一篇:一种水下机器人360°全景影像应用系统





