[发明专利]一种报表结构分解方法、报表生成方法、装置有效
申请号: | 201910127338.6 | 申请日: | 2019-02-20 |
公开(公告)号: | CN109634992B | 公开(公告)日: | 2019-10-15 |
发明(设计)人: | 周曹俊;赵志慧 | 申请(专利权)人: | 北京虹晟信息科技有限公司 |
主分类号: | G06F16/2455 | 分类号: | G06F16/2455;G06F16/27 |
代理公司: | 北京知呱呱知识产权代理有限公司 11577 | 代理人: | 丁彦峰;贺亚明 |
地址: | 100085 北京市海淀*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 报表结构 报表模板 报表生成 数据源 分解 报表类型 单元格 报表模板文件 二进制格式 用户满意度 报表数据 参数设置 工程造价 工作效率 结果设置 快速响应 显示格式 用户需求 组成元素 自定义 映射 行列 | ||
1.一种报表结构分解方法,其特征在于,包括:
对报表样式识别报表类型,根据所述报表类型识别报表样式的组成结构,包括:
识别报表头、报表尾、页头、页尾;
在重复生成部分的业务数据类型数目大于1的情形下,确定数据分组,针对每一个组确定其组成结构,识别组头、组数据和组尾,以及所包含的子组;
在所述重复生成部分的业务数据类型数目等于1的情形下,不存在组,则识别为全局数据;
在所述全局数据或组数据存在子级数据的情形下,则对子级数据进行识别明细,确定明细的组成结构;
其中,所述对报表样式识别报表类型,包括:判断所述报表样式中是否有数据重复生成,在判定没有数据重复生成的情形下,识别为简单表;在识别存在数据重复生成的情形下,进一步判断数据重复生成的方向,若仅在横向上存在数据重复生成,则识别为横表;若仅在纵向上存在数据重复生成,则识别为纵表;若在横向和纵向上均存在数据重复生成,则识别为交叉表。
2.如权利要求1所述的方法,其特征在于,所述识别报表头、报表尾,包括:
根据所述报表类型识别位于所述报表样式首端,并且仅出现一次的部分,将其作为报表头,识别位于所述报表样式尾端,并且仅出现一次的部分,将其作为报表尾,分别获取所述报表头和所述报表尾的属性值。
3.如权利要求1所述的方法,其特征在于,所述识别所述页头和所述页尾,包括:
从所述报表样式中获取报表头、报表尾之外的其他部分,将其作为报表的页,获取在每一页的首尾两端均出现的部分,将其分别作为页头和页尾;分别获取所述页头和所述页尾的属性值。
4.如权利要求1所述的方法,其特征在于,所述针对每一个组确定其组成结构,识别组头、组数据和组尾,以及所包含的子组,包括:
获取组内容标题样式确定是否有组的嵌套,在识别到组的嵌套结构时,递归识别子组的组成结构;在识别到非嵌套组时,识别组头、组数据和组尾,以及所包含的明细的组成结构。
5.一种报表生成方法,其特征在于,包括:
获取报表类型,根据所述报表类型建立报表模板文件,确定模板的单元格行列数;
按如权利要求1所述的报表结构分解方法的报表结构分解的结果设置报表结构,并设置报表的显示格式和每个节的参数设置项、数据源,以及节中每个单元格的数据源变量;
采用自定义的二进制格式描述报表结构,并生成报表模板;
从数据源中获取报表数据,将其映射入所述报表模板中,生成报表。
6.如权利要求5所述的方法,其特征在于,所述报表类型,包括:
简单表、横表、纵表、交叉表。
7.一种报表生成装置,其特征在于,包括:
报表模板建立模块,用于获取报表类型,根据所述报表类型建立报表模板文件,确定模板的单元格行列数;
报表结构设计模块,用于按如权利要求1所述的报表结构分解方法的报表结构分解的结果设置报表结构,并设置报表的显示格式;
节设置模块,用于设置每个节的参数设置项、数据源,以及节中每个单元格的数据源变量,采用自定义的二进制格式描述报表结构,生成报表模板;
报表数据映射模块,用于从数据源中获取报表数据,将其映射入所述报表模板中,生成报表。
8.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有程序,所述程序用于实现如权利要求5-6所述的报表生成方法。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京虹晟信息科技有限公司,未经北京虹晟信息科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910127338.6/1.html,转载请声明来源钻瓜专利网。