本技术涉及数据处理,尤其涉及一种报表生成方法、装置、电子设备及存储介质。
背景技术:
1、随着企业数据量的不断增加,报表生成的需求也日益增长。传统的报表生成方法已经无法满足企业的需求,因此自动报表生成技术应运而生。这种技术利用计算机程序或自动化工具,从数据源中提取所需数据,并自动将其转化为所需的报表格式。
2、在很多项目中,客户需要实现各自的能耗报表、基于多张报表进行统计汇总以及基于计算公式进行计算,并将excel或者word中的表格转换成超文本标记语言(hyper textmarkup language,html),进而在网页浏览器中显示。为实现报表的一次设计多次使用,相关技术公开了一种报表生成方案,需要用户提前对变量进行命名,根据模板引擎的配置信息,将第一格式报表模板转换成第二格式报表模板引擎文件,并通过实例化实体类对象向表格中传入不同的参数,以生成报表。
3、在实现本技术实施例过程中,发现相关技术中至少存在如下技术问题:
4、模板修改灵活度低,用户修改难度高。
技术实现思路
1、本技术实施例提供了一种报表生成方法、装置、电子设备及存储介质,以解决模板修改灵活度低,用户修改难度高的问题。
2、第一方面,本技术实施例提供了一种报表的生成方法,包括:
3、响应于excel导入请求,获取并解析导入的excel模板文件,获得所述excel模板文件中每个单元格的配置信息;
4、对各单元格配置信息进行解析,获得配置解析结果,并将所述配置解析结果临时存放到map集合中;
5、根据所述解析结果从数据库中查询数据,并对应填充至所述excel模板文件中生成excel工作簿;
6、根据hssfworkbook将工作簿转换成html格式报表。
7、在一种可能的实现方式中,在所述将所述配置解析结果临时存放到map集合中之后,还包括:
8、获取单元格配置调整请求;
9、响应于所述单元格配置调整请求,解析对应单元格的配置信息,并调整所述解析结果。
10、在一种可能的实现方式中,所述单元格配置调整请求包括:增加请求、删除请求和配置修改请求;
11、相应的,所述响应于所述单元格配置调整请求,解析对应单元格的配置信息,并调整所述解析结果,包括:
12、在所述单元格配置调整请求为增加请求时,解析对应单元格的配置信息,并在所述解析结果中增加对应单元格的配置信息解析结果;
13、在所述单元格配置调整请求为删除请求时,并在所述解析结果中删除对应单元格的配置信息解析结果;
14、在所述单元格配置调整请求为配置修改请求时,解析对应单元格的配置信息,并在所述解析结果中替换对应单元格的配置信息解析结果。
15、在一种可能的实现方式中,所述将所述配置解析结果临时存放到map集合中包括:
16、以单元格位置信息为key,以单元格对应编码信息为value建立映射关系列表;
17、将所述配置解析结果以所述映射关系列表方式进行存放,获得map集合。
18、在一种可能的实现方式中,所述map集合包括多个子集合;
19、其中,将所述配置解析结果以所述映射关系列表方式进行存放,获得map集合,包括:
20、以列信息对所述映射关系列表进行分类存放,确定各列的子集合;或者,
21、以行信息对所述映射关系列表进行分类存放,确定各行的子集合。
22、在一种可能的实现方式中,所述根据hssfworkbook将工作簿转换成html格式报表,包括:
23、在所述工作簿包括多个工作表时,确定需要转换成html格式的目标工作表;
24、根据hssfworkbook将所述目标工作簿转换成html格式报表。
25、在一种可能的实现方式中,所述根据hssfworkbook将所述目标工作簿转换成html格式报表,包括:
26、在所述工作簿包括多个工作表时,确定需要转换成html格式的目标工作表;
27、根据hssfworkbook将所述目标工作簿转换成html格式报表。
28、第二方面,本技术实施例提供了一种报表的生成装置,包括:
29、导入模块,用于响应于excel导入请求,获取并解析导入的excel模板文件,获得所述excel模板文件中每个单元格的配置信息;
30、单元格解析模块,用于对各单元格配置信息进行解析,获得配置解析结果,并将所述配置解析结果临时存放到map集合中;
31、填充模块,用于根据所述解析结果从数据库中查询数据,并对应填充至所述excel模板文件中生成excel工作簿;
32、转换模块,用于根据hssfworkbook将工作簿转换成html格式报表。
33、在一种可能的实现方式中,所述报表的生成装置还包括:获取模块,用于在单元格解析模块将所述配置解析结果临时存放到map集合中之后,获取单元格配置调整请求;
34、所述单元格解析模块,还用于响应于所述单元格配置调整请求,解析对应单元格的配置信息,并调整所述解析结果。
35、在一种可能的实现方式中,所述单元格配置调整请求包括:增加请求、删除请求和配置修改请求;
36、相应的,所述单元格解析模块,具体用于:
37、在所述单元格配置调整请求为增加请求时,解析对应单元格的配置信息,并在所述解析结果中增加对应单元格的配置信息解析结果;
38、在所述单元格配置调整请求为删除请求时,并在所述解析结果中删除对应单元格的配置信息解析结果;
39、在所述单元格配置调整请求为配置修改请求时,解析对应单元格的配置信息,并在所述解析结果中替换对应单元格的配置信息解析结果。
40、在一种可能的实现方式中,所述单元格解析模块,具体用于:
41、以单元格位置信息为key,以单元格对应编码信息为value建立映射关系列表;
42、将所述配置解析结果以所述映射关系列表方式进行存放,获得map集合。
43、在一种可能的实现方式中,所述map集合包括多个子集合;
44、所述单元格解析模块,具体用于:
45、以列信息对所述映射关系列表进行分类存放,确定各列的子集合;或者,
46、以行信息对所述映射关系列表进行分类存放,确定各行的子集合。
47、在一种可能的实现方式中,所述转换模块,具体用于:
48、在所述工作簿包括多个工作表时,确定需要转换成html格式的目标工作表;
49、根据hssfworkbook将所述目标工作簿转换成html格式报表。
50、第三方面,本技术实施例提供了一种电子设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上第一方面或第一方面的任一种可能的实现方式所述方法的步骤。
51、第四方面,本技术实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如上第一方面或第一方面的任一种可能的实现方式所述方法的步骤。
52、本技术实施例提供一种报表生成方法、装置、电子设备及存储介质,基于map集合为双列集合的特点,将excel文件单元格配置信息的解析结果以map集合的方式缓存存储,以便于用户根据需要轻松更改单元格的配置信息。而且,基于map集合存储结果进行数据查询填表生成excel文件。此外,根据hssfworkbook直接将excel文件中的工作表页转换成html格式报表,而无需生成实体类对象。因此,本技术方案中的报表生成过程相对简单,同时也降低了用户对excel文件单元格配置信息进行更改的难度。