一种报表生成方法及装置的制造方法
【技术领域】
[0001]本申请涉及电子信息领域,尤其涉及一种报表生成方法及装置。
【背景技术】
[0002]在日常的工作中,通常需要以报表的形式展示数据,例如,上级单位要监督或考核下级单位,则要求下级单位定期上报报表,报表中展示与下级单位的工作相关的一些数据,以便于对上级单位对报表中的数据进行统计分析。
[0003]而现有的报表生成方法,设计器过于复杂,在报表的生成过程中,需要开发人员根据不同的需求,编写代码,可见,现有的报表生成方法过于繁琐。
[0004]申请内容
[0005]本申请实施例提供了一种报表生成方法及装置,目的在于解决现有的报表生成方法过于繁琐的问题。
[0006]为了实现上述目的,本申请实施例提供了以下技术方案:
[0007]—种报表生成方法,包括:
[0008]接收用户选定第一标签的指令;
[0009]获取所述第一标签的属性数据,所述属性数据中至少包括指示待展示数据的参数;
[0010]依据所述属性数据,从预设的数据库中查找所述待展示数据;
[0011 ] 将所述待展示数据进行封装;
[0012]将封装后的待展示数据以报表的形式进行展示。
[0013]可选地,所述获取所述第一标签的属性数据包括:
[0014]接收所述用户对所述第一标签的属性的设定;
[0015]将设定后的属性作为所述第一标签的属性数据。
[0016]可选地,所述属性数据中还包括:
[0017]报表显示控制属性数据。
[0018]可选地,所述将封装后的待展示数据以报表的形式进行展示包括:
[0019]将封装后的待展示数据在第一显示格式的报表中进行展示,所述第一显示格式为所述报表显示控制属性数据指示的显示格式。
[0020]可选地,所述将所述待展示数据进行封装包括:
[0021]将所述待展示数据封装成HTML格式。
[0022]—种报表生成装置,包括:
[0023]接收模块,用于接收用户选定第一标签的指令;
[0024]获取模块,用于获取所述第一标签的属性数据,所述属性数据中至少包括指示待展示数据的参数;
[0025]查找模块,用于依据所述属性数据,从预设的数据库中查找所述待展示数据;
[0026]封装模块,用于将所述待展示数据进行封装;
[0027]展示模块,用于将封装后的待展示数据以报表的形式进行展示。
[0028]可选地,所述获取模块用于获取所述第一标签的属性数据,具体包括:
[0029]所述接收模块具体用于,接收所述用户对所述第一标签的属性的设定,并将设定后的属性作为所述第一标签的属性数据。
[0030]可选地,所述获取模块用于获取所述第一标签的属性数据,具体包括:
[0031]所述接收模块具体用于,获取所述第一标签的属性数据,所述属性数据中还包括报表显示控制属性数据。
[0032]可选地,所述展示模块用于将封装后的待展示数据以报表的形式进行展示,具体包括:
[0033]所述展示模块具体用于,将封装后的待展示数据在第一显示格式的报表中进行展示,所述第一显示格式为所述报表显示控制属性数据指示的显示格式。
[0034]可选地,所述封装模块用于将所述待展示数据进行封装,具体包括:
[0035]所述封装模块具体用于,将所述待展示数据封装成HTML格式。
[0036]本申请所述的报表生成方法及装置,接收用户选定第一标签的指令,获取第一标签的属性数据,并依据所述属性数据,从预设的数据库中查找待展示的数据,将待展示的数据进行封装后,以报表的形式进行展示,可见,用户通过标签的属性数据,能够从数据库中查找到待展示的数据,从而将待展示的数据以报表的形式进行展示,而无需再进行代码的编写,因此,报表的生成过程得以简化,从而便于实现。
【附图说明】
[0037]为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0038]图1为本申请实施例公开的一种报表生成方法的流程图;
[0039]图2为本申请实施例公开的又一种报表生成方法的流程图;
[0040]图3为本申请实施例公开的一种报表生成装置的结构示意图。
【具体实施方式】
[0041 ] 下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
[0042]本申请实施例公开的一种报表生成方法,如图1所示,包括以下步骤:
[0043]SlOl:接收用户选定第一标签的指令;
[0044]本实施例中,标签是指脚本语言自带的标签或者自定义标签。以下为几种常见的标签的名称以及功能:
[0045]StatTag:用于显示展示组合页面;
[0046]StatView:用于控制展示实体类;
[0047]StatTab:用于控制 Sheet 表单;
[0048]StatCol:用于控制列表格内容;
[0049]StatDataReader:用于读取出入的实体数据集。
[0050]S102:获取所述第一标签的属性数据,所述属性数据中至少包括指示待展示数据的参数;
[0051]其中,指示待展示数据的参数可以为实例数据集viewUava实体集合),过滤字段lost([{}])等。
[0052]S103:依据所述属性数据,从预设的数据库中查找所述待展示数据;
[0053]S104:将所述待展示数据进行封装;
[0054]S105:将封装后的待展示数据以报表的形式进行展示。
[0055]例如,以生成用电数据的报表为例,用户在用电数据信息统计页面选择相应的过滤条件(如:年度、月份、用电地区、用电量等),点击统计按钮后弹出报表类型选择框(第一标签选择),选择报表类型为普通列表报表,点击确定按钮,即选择了标签普通列表类型。应用程序将用户在统计页面选择的过滤条件及报表类型信息传入系统后台,系统后台接收用户选择的报表类型,至此,系统后台接收到用户选定第一标签的指令(对应S101)。系统后台将第一标签传递过来的过滤条件存入searchInfo(查询条件信息)对象中;报表类型信息存入ViewType (报表类型)对象中,此实例由第一标签传递的报表类型为普通列表报表(对应s 102);
[0056]在数据库中,根据searchlnfo对象里的查询条件编写数据库sql查询语句(例:若统计页面传入的条件为年度:2014、月份:8月、用电地区:北京、用电量:2000KW。则生成的查询语句为 select t*from elec_info where year = ’ 2014and month = ’ 8’ and elec_reg1n = ’北京’ and use_elec>,2000kw’.此语句查询2014年8月北京地区用电量大于2000kw的用户信息),数据库执行此sql语句,查询符合条件的用电数据信息,并将此数据信息反馈回系统后台(对应sl03)。
[0057]系统后台接收到数据库反馈回来的用电数据信息,将此数据封装到view(报表展示对象)对象中(对应sl04),到此完成了报表数据的后台生成工作。
[0058]最后系统将view对象及viewType对象反馈回浏览器前台报表统计信息展示页面的jsp页面代码中。在浏览器前台的jsp页面的代码中通过对viewType值的判断后,调用普通列表报表所使用的的标签〈jjjc: statView view =" >,将后台数据库对象的值赋值给view = ' <%= view% >’。即可在浏览器页面上展示用电信息报表(对应sl05)。
[0059]本实施例所述的方法,用户在选定第一标签后,通过获取第一标签的属性数据,即可实现从数据库中找到待展示数据、并将待展示数据以报表