一种生成图形报表的方法及设备与流程

专利2022-06-29  69


本申请属于计算机技术领域,尤其涉及一种生成图形报表的方法及设备。



背景技术:

图形报表,又称为图表,指在屏幕中显示,可直观展示统计信息属性,如时间性、数量性等,对知识挖掘和信息直观生动起关键作用的图形结构,是企业管理中的一项重要工作。

在图形报表开发的过程中,每开发一张图形报表,开发人员都需要编写大量的前后端代码,编码完成后还需做大量修改、测试,导致图形报表的开发周期长、效率低、准确性差、后期维护成本高。



技术实现要素:

有鉴于此,本申请实施例提供了一种生成图形报表的方法及设备,以解决在图形报表开发的过程中,每开发一张图形报表,开发人员都需要编写大量的前后端代码,编码完成后还需做大量修改、测试,导致图形报表的开发周期长、效率低、准确性差、后期维护成本高的问题。

本申请实施例的第一方面提供了一种生成图形报表的方法,包括:

获取终端发送的用于生成图形报表的请求;所述请求中包含目标图表类型以及与所述目标图表类型关联的数据源;所述目标图表类型为待生成的图形报表对应的类型;

从预设图表模板集中获取所述目标图表类型对应的目标图表模板;所述预设图表模板集中包含多个支持sql注入的图表模板,以及每个所述图表模板对应的图表类型;

基于预设指令以及所述数据源,获取所述目标图表模板所需的目标数据;

基于所述目标图表模板以及所述目标数据,生成目标图形报表。

进一步地,当终端发送的用于生成图形报表的请求中,包含至少两个目标图表类型以及每个目标图表类型关联的数据源时,为了生成的图形报表更准确,从预设图表模板集中获取所述目标图表类型对应的目标图表模板包括:从所述预设图表模板集中获取每个所述目标图表类型对应的目标图表模板;基于预设指令以及所述数据源,获取所述目标图表模板所需的目标数据包括:基于预设指令以及每个所述数据源,获取每个所述目标图表模板所需的目标数据;基于所述目标图表模板以及所述目标数据,生成目标图形报表包括:基于每个所述目标图表模板以及每个所述目标数据,生成每个所述目标图表类型对应的局部图形报表;获取每个所述局部图形报表对应的预设显示区域;基于每个所述预设显示区域,组合所有所述局部图形报表,得到目标图形报表。

进一步地,为了满足不同需求,提升图形报表的灵活性、多样性,丰富图表模板的样式,本申请还包括:

获取每个所述图表模板对应的初始图表模板;所述初始图表模板为不支持sql注入的图表模板;

转换每个所述初始图表模板的格式,并基于每个转换格式后的初始图表模板生成所述预设图表模板集。

进一步地,为了提升图形报表的灵活性、多样性,丰富图表模板的样式,所述转换每个所述初始图表模板的格式,并基于每个转换格式后的初始图表模板生成所述预设图表模板集包括:

获取每个所述初始图表模板对应的源码;

调整每个所述源码中的变量,得到每个支持sql注入的图表模板;

基于每个所述支持sql注入的图表模板生成所述预设图表模板集。

进一步地,为了提升每个图形报表的独立性,便于用户在任一服务器中查看图形报表,本申请还包括:打包所述目标图形报表,得到所述目标图形报表对应的压缩包,并将所述压缩包发送至除本端外的任一服务器。

进一步地,为了丰富图形报表的显示风格,本申请还包括:基于预设样式,调整所述目标图形报表的显示风格。

进一步地,为了丰富图形报表的功能,本申请还包括:基于预设条件,在所述目标图形报表中设置查询选项;当检测到查询指令时,基于所述查询指令包含的查询选项从所述目标图形报表中查找信息。

本发明实施例的第二方面提供了一种生成图形报表的设备,该设备包括:

第一获取单元,用于获取终端发送的用于生成图形报表的请求;所述请求中包含目标图表类型以及与所述目标图表类型关联的数据源;所述目标图表类型为待生成的图形报表对应的类型;

第二获取单元,用于从预设图表模板集中获取所述目标图表类型对应的目标图表模板;所述预设图表模板集中包含多个支持sql注入的图表模板,以及每个所述图表模板对应的图表类型;

第三获取单元,用于基于预设指令以及所述数据源,获取所述目标图表模板所需的目标数据;

生成单元,用于基于所述目标图表模板以及所述目标数据,生成目标图形报表。

进一步地,所述设备还包括:

第四获取单元,用于获取每个所述图表模板对应的初始图表模板;所述初始图表模板为不支持sql注入的图表模板;

转换单元,用于转换每个所述初始图表模板的格式,并基于每个转换格式后的初始图表模板生成所述预设图表模板集。

进一步地,所述转换单元具体用于:

获取每个所述初始图表模板对应的源码;

调整每个所述源码中的变量,得到每个支持sql注入的图表模板;

基于每个所述支持sql注入的图表模板生成所述预设图表模板集。

进一步地,所述请求中包含至少两个所述目标图表类型以及每个所述目标图表类型关联的数据源;所述第二获取单元具体用于:从所述预设图表模板集中获取每个所述目标图表类型对应的目标图表模板;所述第三获取单元具体用于:基于预设指令以及每个所述数据源,获取每个所述目标图表模板所需的目标数据;所述生成单元具体用于:基于每个所述目标图表模板以及每个所述目标数据,生成每个所述目标图表类型对应的局部图形报表;获取每个所述局部图形报表对应的预设显示区域;基于每个所述预设显示区域,组合所有所述局部图形报表,得到目标图形报表。

进一步地,所述设备还包括:

打包单元,用于打包所述目标图形报表,得到所述目标图形报表对应的压缩包,并将所述压缩包发送至除本端外的任一服务器。

进一步地,所述设备还包括:

调整单元,用于基于预设样式,调整所述目标图形报表的显示风格。

进一步地,所述设备还包括:

设置单元,用于基于预设条件,在所述目标图形报表中设置查询选项;

查询单元,用于当检测到查询指令时,基于所述查询指令包含的查询选项从所述目标图形报表中查找信息。

本发明实施例的第三方面提供了另一种设备,包括处理器、输入设备、输出设备和存储器,所述处理器、输入设备、输出设备和存储器相互连接,其中,所述存储器用于存储支持终端执行上述方法的计算机程序,所述计算机程序包括程序指令,所述处理器被配置用于调用所述程序指令,执行以下步骤:

获取终端发送的用于生成图形报表的请求;所述请求中包含目标图表类型以及与所述目标图表类型关联的数据源;所述目标图表类型为待生成的图形报表对应的类型;

从预设图表模板集中获取所述目标图表类型对应的目标图表模板;所述预设图表模板集中包含多个支持sql注入的图表模板,以及每个所述图表模板对应的图表类型;

基于预设指令以及所述数据源,获取所述目标图表模板所需的目标数据;

基于所述目标图表模板以及所述目标数据,生成目标图形报表。

本发明实施例的第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:

获取终端发送的用于生成图形报表的请求;所述请求中包含目标图表类型以及与所述目标图表类型关联的数据源;所述目标图表类型为待生成的图形报表对应的类型;

从预设图表模板集中获取所述目标图表类型对应的目标图表模板;所述预设图表模板集中包含多个支持sql注入的图表模板,以及每个所述图表模板对应的图表类型;

基于预设指令以及所述数据源,获取所述目标图表模板所需的目标数据;

基于所述目标图表模板以及所述目标数据,生成目标图形报表。

本申请实施例提供的一种生成图形报表的方法及设备具有以下有益效果:

本申请实施例,通过获取终端发送的用于生成图形报表的请求;从预设图表模板集中获取所述目标图表类型对应的目标图表模板;基于预设指令以及所述数据源,获取所述目标图表模板所需的目标数据;基于所述目标图表模板以及所述目标数据,生成目标图形报表。上述方式,当获取到用于生成图形报表的请求时,基于该请求中包含的目标图表类型获取与其对应的支持sql注入的目标图表模板,基于预设指令以及请求中包含的数据源,获取目标图表模板所需的目标数据,根据该目标图表模板以及目标数据生成目标图形报表。由于目标图表模板支持sql注入,可与数据源以及目标数据实现无缝对接,开发人员不用再编写大量的前后端代码,也无需再进行大量修改、测试,进而缩短了图形报表的开发周期,提升了图形报表的开发效率以及准确性,便于开发人员维护。

附图说明

为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1是本申请一实施例提供的一种生成图形报表的方法的实现流程图;

图2是本申请另一实施例提供的一种生成图形报表的方法的实现流程图;

图3是本申请一实施例提供的一种生成图形报表的设备的示意图。

图4是本申请另一实施例提供的一种设备的示意图。

具体实施方式

为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。

请参见图1,图1是本发明实施例提供的一种生成图形报表的方法的示意流程图。本实施例中生成图形报表的方法的执行主体为生成图形报表的设备,该设备包括但不限于服务器。本实施例中以服务器为例进行说明。如图1所示的生成图形报表的方法可包括:

s101:获取终端发送的用于生成图形报表的请求;所述请求中包含目标图表类型以及与所述目标图表类型关联的数据源;所述目标图表类型为待生成的图形报表对应的类型。

服务器获取终端发送的用于生成图形报表的请求。具体地,用户可在终端中点击生成图形报表选项,触发终端生成用于生成图形报表的请求,终端将用于生成图形报表的请求发送至服务器,服务器接收终端发送的用于生成图形报表的请求。该请求中包含目标图表类型,以及与目标图表类型关联的数据源,目标图表类型为待生成的图形报表对应的类型;可根据目标图表类型获取与该目标图表类型对应的目标图表模板,根据数据源获取目标图表模板所需的目标数据,进而根据该目标图表模板以及目标数据生成目标图形报表。

s102:从预设图表模板集中获取所述目标图表类型对应的目标图表模板;所述预设图表模板集中包含多个支持sql注入的图表模板,以及每个所述图表模板对应的图表类型。

服务器从预设图表模板集中获取目标图表类型对应的目标图表模板。具体地,预设图表模板集中包含多个支持sql注入的图表模板,以及每个图表模板对应的图表类型。预设图表模板集是对每个图表模板对应的初始图表模板(即不支持sql注入的图表模板)进行编辑、转换得到的支持sql注入的图表模板的集合。服务器在预设图表模板集中查找与目标图表类型匹配的图表类型,当查找到匹配的图表类型时,进一步查找该图表类型对应的图表模板,即得到目标图表类型对应的目标图表模板。例如,预设图表模板集中包含的图表类型可以是,饼图、数量分布图、柱状图、堆叠柱状图、正负条形图、嵌套环形图等,预设图表模板集中还包含这些图表类型各自对应的支持sql注入的图表模板。当目标图表类型为饼图时,可在预设图表模板中查找饼图对应的图表模板。此处仅为示例性说明,对此不做限定。

s103:基于预设指令以及所述数据源,获取所述目标图表模板所需的目标数据。

服务器基于预设指令以及目标图表类型关联的数据源,获取目标图表模板所需的目标数据。具体地,数据源可理解为存储目标数据的地址,预设指令可以是预设的sql语句,基于sql语句以及数据源编写程序,可对接数据源对应的数据库,并基于该数据源在数据库中获取到目标数据,即获取到目标图表模板所需的目标数据。可理解为目标数据为填入该目标图表模板,配合该目标图表模板生成目标图形报表的数据。

s104:基于所述目标图表模板以及所述目标数据,生成目标图形报表。

服务器基于目标图表模板以及目标数据,生成目标图形报表。具体地,获取目标数据以及目标图表模板,将目标数据对应填入目标图表模板,基于填入目标数据后的目标图表模板绘制生成目标图形报表。实现了在目标图形报表中展现目标数据,直观体现目标数据的各种属性,便于用户查看以及管理。

进一步地,当终端发送的用于生成图形报表的请求中,包含至少两个目标图表类型以及每个目标图表类型关联的数据源时,为了生成的图形报表更准确,s102可以包括:从所述预设图表模板集中获取每个所述目标图表类型对应的目标图表模板。

具体地,服务器在预设图表模板集中查找与每个目标图表类型匹配的图表类型,当查找这些匹配的图表类型时,进一步查找这些图表类型对应的图表模板,即得到每个目标图表类型对应的目标图表模板。例如,预设图表模板集中包含的图表类型可以是,饼图、数量分布图、柱状图、堆叠柱状图、正负条形图、嵌套环形图等,预设图表模板集中还包含这些图表类型各自对应的支持sql注入的图表模板。当目标图表类型为饼图以及柱状图时,可在预设图表模板中查找饼图对应的图表模板,以及查找柱状图对应的图表模板。此处仅为示例性说明,对此不做限定。

进一步地,当终端发送的用于生成图形报表的请求中,包含至少两个目标图表类型以及每个目标图表类型关联的数据源时,s103可以包括:基于预设指令以及每个所述数据源,获取每个所述目标图表模板所需的目标数据。

具体地,预设指令可以是预设的sql语句,基于sql语句以及每个目标图表类型关联的数据源编写程序,可对接每个数据源对应的数据库,并基于每个数据源在其各自对应的数据库中获取到多个目标数据,即获取到每个目标图表模板所需的目标数据。其中,每个图表类型关联的数据源可以相同,也可不同;即基于每个数据源对接的数据库可以相同,也可不同。以具体实施情况为准,对此不做限定。

进一步地,当终端发送的用于生成图形报表的请求中,包含至少两个目标图表类型以及每个目标图表类型关联的数据源时,s104可以包括s1041-s1043,具体如下:

s1041:基于每个所述目标图表模板以及每个所述目标数据,生成每个所述目标图表类型对应的局部图形报表。

具体地,获取每组目标数据和目标图表模板,将目标数据对应填入目标图表模板,基于填入目标数据后的目标图表模板绘制生成目标图表类型对应的局部图形报表。其中,一组目标数据和目标图表模板是指,一个目标图表类型对应的目标图表模板,以及基于该目标图表类型关联的数据源获取到的目标数据。通过同样的方法生成每个目标图表类型对应的局部图形报表。

s1042:获取每个所述局部图形报表对应的预设显示区域。

服务器获取每个局部图形报表对应的预设显示区域。每个局部图形报表对应的预设显示区域可以理解为,每个局部图形报表在最终生成的目标图形报表中的显示位置。每个局部图形报表对应的预设显示区域可由用户根据实际情况预先设置;也可以包含在终端发送的用于生成图形报表的请求中,即请求中可以包括每个目标图表类型对应的目标图表模板在生成的目标图形报表中的预设显示区域。服务器获取到目标图表模板在生成的目标图形报表中的预设显示区域,也就相当于获取到了基于这个目标图表模板生成的局部图形报表对应的预设显示区域。

s1043:基于每个所述预设显示区域,组合所有所述局部图形报表,得到目标图形报表。

服务器基于每个预设显示区域,组合所有局部图形报表,得到目标图形报表。具体地,终端依次将每个局部图形报表设置于其对应的预设显示区域,将所有局部图形报表设置完成后,得到最终的目标图形报表。进一步地,为了满足各种需求,提升图形报表的灵活性,可实时调整各个局部图形报表的位置,生成不同格局的目标图形报表。进一步地,服务器将生成的目标图形报表在本服务器进行展示,也可将目标图形报表发送至终端,在终端上进行展示。例如,用户可在手机端查看目标图形报表。

本申请实施例,通过获取终端发送的用于生成图形报表的请求;从预设图表模板集中获取所述目标图表类型对应的目标图表模板;基于预设指令以及所述数据源,获取所述目标图表模板所需的目标数据;基于所述目标图表模板以及所述目标数据,生成目标图形报表。上述方式,当获取到用于生成图形报表的请求时,基于该请求中包含的目标图表类型获取与其对应的支持sql注入的目标图表模板,基于预设指令以及请求中包含的数据源,获取目标图表模板所需的目标数据,根据该目标图表模板以及目标数据生成目标图形报表。由于目标图表模板支持sql注入,可与数据源以及目标数据实现无缝对接,开发人员不用再编写大量的前后端代码,也无需再进行大量修改、测试,进而缩短了图形报表的开发周期,提升了图形报表的开发效率以及准确性,便于开发人员维护。进一步地,当目标图标类型为多个时,可对生成的局部图形报表进行自由组合,最终生成大的图形报表,满足了用户不同的需求,便于用户查询,提升了图形报表的灵活性。

请参见图2,图2是本发明另一实施例提供的一种生成图形报表的方法的示意流程图。本实施例中生成图形报表的方法的执行主体为生成图形报表的设备,该设备包括但不限于服务器。本实施例中以服务器为例进行说明。

本实施例与上一实施例的区别为s201-s202、s207-s210,本实施例中s203-s206与上一实施例中的s101-s104完全相同,具体请参阅上一实施例中s101-s104的相关描述,此处不赘述。

进一步地,为了满足不同需求,提升图形报表的灵活性、多样性,丰富图表模板的样式,在s203之前还可包括s201-s202,具体如下:

s201:获取每个所述图表模板对应的初始图表模板;所述初始图表模板为不支持sql注入的图表模板。

服务器获取每个图表模板对应的初始图表模板。具体地,可在echart图表库、highchart图表库、bootstrapchart图表库,或者其他用javascript编写的图表库中获取各个初始图表模板。这里的初始图表模板指的是不支持sql注入的图表模板,即从上述这些图表库中获取到的初始图表模板不支持sql注入操作。

s202:转换每个所述初始图表模板的格式,并基于每个转换格式后的初始图表模板生成所述预设图表模板集。

服务器转换每个初始图表模板的格式,并基于每个转换格式后的初始图表模板生成预设图表模板集。即服务器对每个初始图表模板在线编辑,将每个不支持sql注入的初始图表模板转换为支持sql注入的图表模板,并基于每个支持sql注入的图表模板生成预设图表模板集。具体地,服务器可获取每个初始图表模板对应的源码;调整每个源码中的变量,得到每个支持sql注入的图表模板;基于每个支持sql注入的图表模板生成预设图表模板集。

进一步地,为了提升图形报表的灵活性、多样性,丰富图表模板的样式,s202可以包括s2021-s2023,具体如下:

s2021:获取每个所述初始图表模板对应的源码。

服务器获取每个初始图表模板对应的源码。具体地,可在echart图表库、highchart图表库、bootstrapchart图表库,或者其他用javascript编写的图表库中获取每个初始图表模板对应的源码。

s2022:调整每个所述源码中的变量,得到每个支持sql注入的图表模板。

服务器调整每个源码中的变量,得到每个支持sql注入的图表模板。具体地,将每个初始图表模板对应的源码中的变量设置为预设变量值,并调整每个初始图表模板的属性信息,得到每个初始图表模板对应的支持sql注入的图表模板。

s2023:基于每个所述支持sql注入的图表模板生成所述预设图表模板集。

服务器基于每个支持sql注入的图表模板生成预设图表模板集。具体地,服务器将每个支持sql注入的图表模板存储于预设图表库,得到预设图表模板集。

进一步地,为了提升每个图形报表的独立性,便于用户在任一服务器中查看图形报表,s206之后还可包括s207,具体如下:

s207:打包所述目标图形报表,得到所述目标图形报表对应的压缩包,并将所述压缩包发送至除本端外的任一服务器。

具体地,可对生成的目标图形报表进行打包操作,得到该目标图形报表对应的压缩包,如war包,将该压缩包发送至除本端外的任一服务器。该压缩包可用于自动部署至任意的服务器,即该压缩包可在本端服务器中进行自动部署,也可在接收到该压缩包的服务器中自动部署。当压缩包被部署至某一服务器后,用户可基于在该服务器提供的服务在终端中查看到目标图形报表。例如,服务器可导出该war包,将war包发送至其他服务器,war包在其他服务器中自动部署,可理解为自动运行,当部署完成后用户可基于其他服务器提供的服务在终端中查看目标图形报表。

进一步地,为了丰富图形报表的显示风格,s206之后还可包括s208,具体如下:

s208:基于预设样式,调整所述目标图形报表的显示风格。

基于预设样式,服务器调整目标图形报表的显示风格。具体地,预设样式可以为预先设置的各种css样式,可基于这些css样式调整目标图形报表的显示风格,得到不同显示风格的目标图形报表。也可以是接收到样式调整请求时,基于调整请求中包含的css样式,将目标图形报表的显示风格调整为该css样式。进一步地,可将调整显示风格后的目标图形报表进行打包,生成对应的压缩包。

进一步地,为了丰富图形报表的功能,s206之后还可包括s209-s210,具体如下:

s209:基于预设条件,在所述目标图形报表中设置查询选项。

基于预设条件,服务器在目标图形报表中设置查询选项。具体地,预设条件为用户根据实际情况预先设置的查询条件,服务器基于该预设条件在目标图形报表中设置对应的查询选项。

s210:当检测到查询指令时,基于所述查询指令包含的查询选项从所述目标图形报表中查找信息。

服务器在检测到查询指令时,基于查询指令包含的查询选项从目标图形报表中查找信息。例如,服务器在检测到查询指令时,获取查询指令中包含的查询选项,基于该查询选项在目标图形报表中查找符合预设条件的信息。进一步地,也可以是服务器在目标图形报表中设置查询选型栏,该查询选型栏中设置有预设条件,当检测到查询指令时,可在该查询选型栏中勾选与查询指令匹配的预设条件,实现在目标图形报表中查找满足预设条件的信息。进一步地,为了方便用户浏览目标图形报表,还可对目标图形报表设置分页。

本申请实施例,通过获取终端发送的用于生成图形报表的请求;从预设图表模板集中获取所述目标图表类型对应的目标图表模板;基于预设指令以及所述数据源,获取所述目标图表模板所需的目标数据;基于所述目标图表模板以及所述目标数据,生成目标图形报表。上述方式,当获取到用于生成图形报表的请求时,基于该请求中包含的目标图表类型获取与其对应的支持sql注入的目标图表模板,基于预设指令以及请求中包含的数据源,获取目标图表模板所需的目标数据,根据该目标图表模板以及目标数据生成目标图形报表。由于目标图表模板支持sql注入,可与数据源以及目标数据实现无缝对接,开发人员不用再编写大量的前后端代码,也无需再进行大量修改、测试,进而缩短了图形报表的开发周期,提升了图形报表的开发效率以及准确性,便于开发人员维护。进一步地,当目标图标类型为多个时,可对生成的局部图形报表进行自由组合,最终生成大的图形报表,满足了用户不同的需求,便于用户查询,提升了图形报表的灵活性。进一步地,对生成的目标图形报表进行打包分离,可将打包后的压缩包部署至任一服务器,方便用户在任一服务器查看图形报表。

请参见图3,图3是本申请一实施例提供的一种生成图形报表的设备的示意图。该设备包括的各单元用于执行图1、图2对应的实施例中的各步骤。具体请参阅图1、图2各自对应的实施例中的相关描述。为了便于说明,仅示出了与本实施例相关的部分。参见图3,包括:

第一获取单元310,用于获取终端发送的用于生成图形报表的请求;所述请求中包含目标图表类型以及与所述目标图表类型关联的数据源;所述目标图表类型为待生成的图形报表对应的类型;

第二获取单元320,用于从预设图表模板集中获取所述目标图表类型对应的目标图表模板;所述预设图表模板集中包含多个支持sql注入的图表模板,以及每个所述图表模板对应的图表类型;

第三获取单元330,用于基于预设指令以及所述数据源,获取所述目标图表模板所需的目标数据;

生成单元340,用于基于所述目标图表模板以及所述目标数据,生成目标图形报表。

进一步地,所述设备还包括:

第四获取单元,用于获取每个所述图表模板对应的初始图表模板;所述初始图表模板为不支持sql注入的图表模板;

转换单元,用于转换每个所述初始图表模板的格式,并基于每个转换格式后的初始图表模板生成所述预设图表模板集。

进一步地,所述转换单元具体用于:

获取每个所述初始图表模板对应的源码;

调整每个所述源码中的变量,得到每个支持sql注入的图表模板;

基于每个所述支持sql注入的图表模板生成所述预设图表模板集。

进一步地,所述请求中包含至少两个所述目标图表类型以及每个所述目标图表类型关联的数据源;所述第二获取单元320具体用于:从所述预设图表模板集中获取每个所述目标图表类型对应的目标图表模板;所述第三获取单元330具体用于:基于预设指令以及每个所述数据源,获取每个所述目标图表模板所需的目标数据;所述生成单元340具体用于:基于每个所述目标图表模板以及每个所述目标数据,生成每个所述目标图表类型对应的局部图形报表;获取每个所述局部图形报表对应的预设显示区域;基于每个所述预设显示区域,组合所有所述局部图形报表,得到目标图形报表。

进一步地,所述设备还包括:

打包单元,用于打包所述目标图形报表,得到所述目标图形报表对应的压缩包,并将所述压缩包发送至除本端外的任一服务器。

进一步地,所述设备还包括:

调整单元,用于基于预设样式,调整所述目标图形报表的显示风格。

进一步地,所述设备还包括:

设置单元,用于基于预设条件,在所述目标图形报表中设置查询选项;

查询单元,用于当检测到查询指令时,基于所述查询指令包含的查询选项从所述目标图形报表中查找信息。

请参见图4,图4是本申请另一实施例提供的一种生成图形报表的设备的示意图。如图4所示,该实施例的设备4包括:处理器40、存储器41以及存储在所述存储器41中并可在所述处理器40上运行的计算机可读指令42。所述处理器40执行所述计算机可读指令42时实现上述各个设备生成图形报表的方法实施例中的步骤,例如图1所示的s101至s104。或者,所述处理器40执行所述计算机可读指令42时实现上述各实施例中各单元的功能,例如图3所示单元310至340功能。

示例性的,所述计算机可读指令42可以被分割成一个或多个单元,所述一个或者多个单元被存储在所述存储器41中,并由所述处理器40执行,以完成本申请。所述一个或多个单元可以是能够完成特定功能的一系列计算机可读指令段,该指令段用于描述所述计算机可读指令42在所述终端4中的执行过程。例如,所述计算机可读指令42可以为第一获取单元、第二获取单元、第三获取单元以及生成单元,各单元具体功能如上所述。

所述设备可包括,但不仅限于,处理器40、存储器41。本领域技术人员可以理解,图4仅仅是设备4的示例,并不构成对设备4的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述设备还可以包括输入输出设备、网络接入设备、总线等。

所称处理器40可以是中央处理单元(centralprocessingunit,cpu),还可以是其他通用处理器、数字信号处理器(digitalsignalprocessor,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现成可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。

所述存储器41可以是所述设备4的内部存储单元,例如设备4的硬盘或内存。所述存储器41也可以是所述设备4的外部存储设备,例如所述设备4上配备的插接式硬盘,智能存储卡(smartmediacard,smc),安全数字(securedigital,sd)卡,闪存卡(flashcard)等。进一步地,所述存储器41还可以既包括所述设备4的内部存储单元也包括外部存储设备。所述存储器41用于存储所述计算机可读指令以及所述设备所需的其他程序和数据。所述存储器41还可以用于暂时地存储已经输出或者将要输出的数据。

以上所述实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神范围,均应包含在本申请的保护范围之内。


技术特征:

1.一种生成图形报表的方法,其特征在于,包括:

获取终端发送的用于生成图形报表的请求;所述请求中包含目标图表类型以及与所述目标图表类型关联的数据源;所述目标图表类型为待生成的图形报表对应的类型;

从预设图表模板集中获取所述目标图表类型对应的目标图表模板;所述预设图表模板集中包含多个支持sql注入的图表模板,以及每个所述图表模板对应的图表类型;

基于预设指令以及所述数据源,获取所述目标图表模板所需的目标数据;

基于所述目标图表模板以及所述目标数据,生成目标图形报表。

2.如权利要求1所述的方法,其特征在于,所述从预设图表模板集中获取所述目标图表类型对应的目标图表模板之前,还包括:

获取每个所述图表模板对应的初始图表模板;所述初始图表模板为不支持sql注入的图表模板;

转换每个所述初始图表模板的格式,并基于每个转换格式后的初始图表模板生成所述预设图表模板集。

3.如权利要求2所述的方法,其特征在于,所述转换每个所述初始图表模板的格式,并基于每个转换格式后的初始图表模板生成所述预设图表模板集包括:

获取每个所述初始图表模板对应的源码;

调整每个所述源码中的变量,得到每个支持sql注入的图表模板;

基于每个所述支持sql注入的图表模板生成所述预设图表模板集。

4.如权利要求1所述的方法,其特征在于,所述请求中包含至少两个所述目标图表类型以及每个所述目标图表类型关联的数据源;所述从预设图表模板集中获取所述目标图表类型对应的目标图表模板包括:

从所述预设图表模板集中获取每个所述目标图表类型对应的目标图表模板;

所述基于预设指令以及所述数据源,获取所述目标图表模板所需的目标数据包括:

基于预设指令以及每个所述数据源,获取每个所述目标图表模板所需的目标数据;

所述基于所述目标图表模板以及所述目标数据,生成目标图形报表包括:

基于每个所述目标图表模板以及每个所述目标数据,生成每个所述目标图表类型对应的局部图形报表;

获取每个所述局部图形报表对应的预设显示区域;

基于每个所述预设显示区域,组合所有所述局部图形报表,得到目标图形报表。

5.如权利要求1-4任一项所述的方法,其特征在于,所述基于所述目标图表模板以及所述目标数据,生成目标图形报表之后,还包括:

打包所述目标图形报表,得到所述目标图形报表对应的压缩包,并将所述压缩包发送至除本端外的任一服务器。

6.如权利要求5所述的方法,其特征在于,所述基于所述目标图表模板以及所述目标数据,生成目标图形报表之后,还包括:

基于预设样式,调整所述目标图形报表的显示风格。

7.如权利要求5所述的方法,其特征在于,所述基于所述目标图表模板以及所述目标数据,生成目标图形报表之后,还包括:

基于预设条件,在所述目标图形报表中设置查询选项;

当检测到查询指令时,基于所述查询指令包含的查询选项从所述目标图形报表中查找信息。

8.一种生成图形报表的设备,其特征在于,包括:

第一获取单元,用于获取终端发送的用于生成图形报表的请求;所述请求中包含目标图表类型以及与所述目标图表类型关联的数据源;所述目标图表类型为待生成的图形报表对应的类型;

第二获取单元,用于从预设图表模板集中获取所述目标图表类型对应的目标图表模板;所述预设图表模板集中包含多个支持sql注入的图表模板,以及每个所述图表模板对应的图表类型;

第三获取单元,用于基于预设指令以及所述数据源,获取所述目标图表模板所需的目标数据;

生成单元,用于基于所述目标图表模板以及所述目标数据,生成目标图形报表。

9.一种生成图形报表的设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至7任一项所述的方法。

10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的方法。

技术总结
本申请适用于计算机技术领域,提供了一种生成图形报表的方法及设备,包括:获取终端发送的用于生成图形报表的请求;从预设图表模板集中获取所述目标图表类型对应的目标图表模板;基于预设指令以及所述数据源,获取所述目标图表模板所需的目标数据;基于所述目标图表模板以及所述目标数据,生成目标图形报表。上述方式,当获取到用于生成图形报表的请求时,基于该请求中包含的目标图表类型获取与其对应的支持SQL注入的目标图表模板,根据该目标图表模板以及获取到的目标数据生成目标图形报表,缩短了图形报表的开发周期,提升了图形报表的开发效率以及准确性,便于开发人员维护。

技术研发人员:万哲韬
受保护的技术使用者:深圳市远行科技股份有限公司
技术研发日:2019.12.10
技术公布日:2020.06.09

转载请注明原文地址: https://bbs.8miu.com/read-19744.html

最新回复(0)