本技术涉及报表处理,特别是涉及一种报表导出方法、报表模板的配置方法、装置、计算机设备、存储介质和计算机程序产品。
背景技术:
1、目前大多数的应用系统中都集成有报表导出功能。用户可以在应用系统的业务功能页面上点击相应的报表导出按键,以将业务功能页面中当前展示的数据填充至预置的报表模板并导出。
2、然而,不同的用户对于同一业务功能页面内展示的数据可能有不同的报表导出需求。譬如,在人员信息的菜单页面中,用户a需要导出的是与人员姓名信息相关的报表,而用户b需要导出的是与人员出生时间信息相关的报表。在这种报表导出需求多样化的场景里,采用传统技术中的报表导出方法时,需要针对不同用户的不同报表导出需求,重新开发一套新的报表导出模板,从而存在开发工作量较大的问题。
技术实现思路
1、基于此,有必要针对上述技术问题,提供一种开发工作量较小的报表导出方法、报表模板的配置方法、装置、计算机设备、计算机可读存储介质和计算机程序产品。
2、第一方面,本技术提供了一种报表导出方法。所述方法包括:
3、获取报表模板参数以及数据查询参数;
4、根据所述报表模板参数查询得到对应的报表模板,获取所述报表模板下配置的模板查询语句;
5、采用所述数据查询参数对所述模板查询语句赋值,得到报表查询指令;
6、执行所述报表查询指令以获取对应的查询结果,将所述查询结果填充至所述报表模板得到目标报表并导出。
7、在其中一个实施例中,所述报表模板参数包括用户标识以及功能码;
8、所述根据所述报表模板参数查询得到对应的报表模板,包括:
9、从所述功能码关联的预设报表模板中,确定出与所述用户标识绑定的所述报表模板。
10、在其中一个实施例中,所述方法还包括:
11、根据所述功能码确定与所述报表模板对应的数据集;
12、获取与所述报表模板对应的报表引擎版本以及所述报表引擎版本下的报表引擎;
13、根据所述数据集和所述报表引擎版本,确定所述报表引擎的解析算法;
14、所述采用所述数据查询参数对所述模板查询语句赋值,得到报表查询指令,包括:
15、调用所述报表引擎采用所述解析算法对所述模板查询语句进行预编译解析处理,得到处理后的模板查询语句;
16、采用所述数据查询参数对所述处理后的模板查询语句中的参数变量赋值,得到所述报表查询指令。
17、在其中一个实施例中,所述执行所述报表查询指令以获取对应的查询结果,将所述查询结果填充至所述报表模板得到目标报表并导出,包括:
18、调用所述报表引擎执行所述报表查询指令以获取对应的查询结果,根据所述报表模板下配置的模板标签将所述查询结果动态填充至所述报表模板,得到所述目标报表并导出。
19、在其中一个实施例中,所述目标报表的导出方法包括:
20、将所述目标报表上传至文件服务器;
21、通过所述文件服务器根据与所述功能码对应的前端显示路径,将所述目标报表发送至与所述功能码对应的业务功能页面,以在所述业务功能页面中展示所述目标报表。
22、在其中一个实施例中,所述方法还包括:
23、获取与所述报表模板匹配的数据集类型;
24、所述执行所述报表查询指令以获取对应的查询结果,将所述查询结果填充至所述报表模板得到目标报表并导出,包括:
25、执行所述报表查询指令以获取对应的查询结果集;
26、根据所述数据集类型对所述查询结果集进行解析处理,得到所述查询结果;
27、根据所述查询结果对应的数据字段以及所述报表模板中的表头数据字段,建立所述查询结果与所述报表模板之间的映射关系;
28、根据所述映射关系将所述查询结果填充至所述报表模板得到所述目标报表并导出。
29、在其中一个实施例中,所述根据所述数据集类型对所述查询结果集进行解析处理,得到所述查询结果,包括:
30、在所述数据集类型包括父数据集类型的情况下,对所述父数据集类型匹配的查询结果集进行递归解析,得到多个子数据集类型下的子查询结果集;
31、对每个所述子查询结果集进行递归解析,得到每个所述子查询结果集内的查询结果。
32、第二方面,本技术还提供了一种报表导出方法。所述方法包括:
33、响应于对导出报表组件的触发操作,显示报表导出页面,通过所述报表导出页面获取报表模板参数以及数据查询参数;
34、将所述报表模板参数以及所述数据查询参数发送至所述导出报表组件,所述导出报表组件用于根据所述报表模板参数查询得到对应的报表模板,获取所述报表模板下配置的模板查询语句;采用所述数据查询参数对所述模板查询语句赋值,得到报表查询指令;执行所述报表查询指令以获取对应的查询结果,将所述查询结果填充至所述报表模板得到目标报表;
35、接收所述导出报表组件发送的所述目标报表;
36、显示所述目标报表。
37、第三方面,本技术还提供了一种报表模板的配置方法。所述方法包括:
38、响应于对导出报表组件的配置操作,显示报表配置页面,通过所述报表配置页面获取预设报表模板参数以及模板表头字段;
39、将所述预设报表模板参数以及所述模板表头字段发送至所述导出报表组件,所述导出报表组件用于根据所述模板表头字段生成预设模板以及预设查询语句,将所述预设模板与所述预设查询语句绑定得到所述预设报表模板,建立所述预设报表模板与所述预设报表模板参数之间的关联关系;
40、接收所述导出报表组件返回的所述预设报表模板,以及所述预设报表模板与所述预设报表模板参数之间的关联关系,所述关联关系用于查询与所述预设报表模板参数对应的预设报表模板。
41、第四方面,本技术还提供了一种报表导出装置。所述装置包括:
42、参数获取模块,用于获取报表模板参数以及数据查询参数;
43、模板获取模块,用于根据所述报表模板参数查询得到对应的报表模板,获取所述报表模板下配置的模板查询语句;
44、指令生成模块,用于采用所述数据查询参数对所述模板查询语句赋值,得到报表查询指令;
45、报表导出模块,用于执行所述报表查询指令以获取对应的查询结果,将所述查询结果填充至所述报表模板得到目标报表并导出。
46、第五方面,本技术还提供了一种报表导出装置。所述装置包括:
47、触发响应模块,用于响应于对导出报表组件的触发操作,显示报表导出页面,通过所述报表导出页面获取报表模板参数以及数据查询参数;
48、组件导出模块,用于将所述报表模板参数以及所述数据查询参数发送至所述导出报表组件,所述导出报表组件用于根据所述报表模板参数查询得到对应的报表模板,获取所述报表模板下配置的模板查询语句;采用所述数据查询参数对所述模板查询语句赋值,得到报表查询指令;执行所述报表查询指令以获取对应的查询结果,将所述查询结果填充至所述报表模板得到目标报表;
49、报表显示模块,用于接收所述导出报表组件发送的所述目标报表,显示所述目标报表。
50、第六方面,本技术还提供了一种报表模板的配置装置。所述装置包括:
51、配置响应模块,用于响应于对导出报表组件的配置操作,显示报表配置页面,通过所述报表配置页面获取预设报表模板参数以及模板表头字段;
52、模板配置模块,用于将所述预设报表模板参数以及所述模板表头字段发送至所述导出报表组件,所述导出报表组件用于根据所述模板表头字段生成预设模板以及预设查询语句,将所述预设模板与所述预设查询语句绑定得到所述预设报表模板,建立所述预设报表模板与所述预设报表模板参数之间的关联关系;
53、数据返回模块,用于接收所述导出报表组件返回的所述预设报表模板,以及所述预设报表模板与所述预设报表模板参数之间的关联关系,所述关联关系用于查询与所述预设报表模板参数对应的预设报表模板。
54、第七方面,本技术还提供了一种计算机设备。所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述第一方面、第二方面或第三方面中任一项实施例所述的报表导出方法。
55、第八方面,本技术还提供了一种计算机可读存储介质。所述计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述第一方面、第二方面或第三方面中任一项实施例所述的报表导出方法。
56、第九方面,本技术还提供了一种计算机程序产品。所述计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述第一方面、第二方面或第三方面中任一项实施例所述的报表导出方法。
57、上述报表导出方法、装置、计算机设备、存储介质和计算机程序产品,通过获取报表模板参数以及数据查询参数,根据报表模板参数查询得到对应的报表模板,获取报表模板下配置的模板查询语句,采用数据查询参数对模板查询语句赋值,得到报表查询指令,执行报表查询指令以获取对应的查询结果,将查询结果填充至报表模板得到目标报表并导出,不仅能够提高报表模板的复用性,实现减轻报表导出方法开发工作量的技术效果;同时,还能够提高报表查询指令的灵活性,从而实现对查询结果的动态获取以满足多样化的报表导出需求。
58、上述报表模板的配置方法、装置、计算机设备、存储介质和计算机程序产品,通过响应于对导出报表组件的配置操作,显示报表配置页面,通过报表配置页面获取预设报表模板参数以及模板表头字段,将预设报表模板参数以及模板表头字段发送至导出报表组件,导出报表组件用于根据模板表头字段生成预设模板以及预设查询语句,将预设模板与预设查询语句绑定得到预设报表模板,建立预设报表模板与预设报表模板参数之间的关联关系,接收导出报表组件返回的预设报表模板,以及预设报表模板与预设报表模板参数之间的关联关系,关联关系用于查询与预设报表模板参数对应的预设报表模板,能够直接利用同一套导出报表组件基于预设报表模板参数以及模板表头字段灵活生成不同的预设报表模板,不仅可以适用于同一用户在同一报表配置页面中配置多种不同预设报表模板的应用场景,同时,还可以适用于不同用户在同一报表配置页面中配置多种不同预设模板报表的应用场景,从而大幅提升报表模板的配置灵活性和便捷性,进而实现千人千面的报表模板配置功能。