基于Stimulsoft的全动态生成报表实现方法、系统及设备与流程

文档序号:15144152发布日期:2018-08-10 20:14阅读:271来源:国知局

本发明涉及信息处理技术领域,尤其涉及一种基stimulsoft生成报表实现方法、系统及设备。



背景技术:

报表是用表格、图表等界面元素来直观显示数据,最终达到数据分析功能。

目前市面上可用于制作报表的工具如word、excel、wps等等。这类软件优点是通用性强,可以通过图形化界面编辑内容样式丰富报表。缺点是接口封闭,无法应用于特殊场合报表系统融合调用编辑等等,所以特殊应用的场合如现场数据采集系统若要通过此类制作软件生成报表,则需要手动一一将数据填充到这类软件,并且根据数据来源设计分析统计类报表,由于一般的现场数据采集分析数据模式单一、固定,如果通过此类软件生成分析报表,则需要每次手动制表,这样操作麻烦、过程繁琐、重复性工作太大。

由于word、excel、wps等软件接口封闭,报表数据无法实时刷新,目前市面出现一些特殊场合应用的报表编辑系统,此类工具具有开放的对外接口,并且数据处理灵活、图形化编辑界面使得报表模板创建如office编辑一样简单。对外的接口可以提供不同平台开发的上位机软件调用,这样对于特定应用场合的数据分析处理报表其实只需要做一套满足数据统计汇总分析类报表模板即可。此类报告还有个点,数据可以动态刷新,这样不需要像office那样每次都得手动制作报表并且手动填充数据。

目前市面可以提供对外接口的主流报表生成系统通用处理流程主要有:①、图形化报表模板创建,主要利用图表编辑器创建对象为标准的报表界面元素,如页眉、页脚、图表、数据表、标签、横线、单选框复选框等等。②、报表模板界面元素属性配置。③、报表模板数据源构建。④、报表模板数据源填充。⑤、编译报表模板。⑥、生成报表内容。

目前市面可以提供对外接口的主流报表生成系统通用处理流程缺陷主要有:①、基于界面设计固定模板不够灵活,不满足特殊需求的属性动态编辑修改等等。②、数据源配置不够灵活,固定的字段处理无法满足一些特殊应用需求场合。③、对于数据表来说,通用处理流程对数据表列对象的填充数量已做固定处理,无法动态修改。这样对于一些应用场合来说,只能分析数量固定的列。

目前已有对这类通用处理流程改进的技术如:cn105260349a-可动态改变模板大小的ireport报表生产方法,已对报表模板动态修改大小,但这样的处理方式仍然基于已编辑定义好的模板对象,仍然不够灵活,只是对字段的宽度计算处理,更改模板属性而已,对于报表所需数据仍然采用模板方式固定化处理。



技术实现要素:

本技术方案实施例的目的在于提供一种报表的模板全动态生成的基stimulsoft生成报表实现方法及系统。

本发明提供一种基stimulsoft生成报表实现方法,其特征在于,包括根据需求构建由代码动态创建的数据集;根据需求对该数据集进行运算,生成根据需求指定的报表数据内容的内存表;动态构建报表界面元素;报表数据采用已构建好的内存表动态填充;对已经填充好数据的报表进行编译生成报表显示。

进一步的,构建动态的数据集为上位机自行产生的数据进行构建,包括实例化产生一个空表,该空表的表名为具体报表需要统计分析、显示的大类别;空表新建列数据,列名为具体报表页面显示表头;表内新建行数据。

进一步的,由数据库查询获取数据集构建内存表,包括:实例化一个空的数据集;向数据集添加空数据表,并命名表名为对于报表页面大类型;根据需要构建的内存表表头及表内数据产生查询语句;向数据库发起查询,返回的数据集填充至实例化的空数据集。

进一步的,根据需求对该内存表进行运算的步骤中,该运算包括加入数据列、拆分或合并等操作。

进一步的,构建报表界面元素包括构建每个元素坐标、每个元素宽度及高度。

进一步的,界面元素中数据表的动态构建与内存表的数量及列数相关。

进一步的,动态构建报表界面元素的步骤中包括对外预留界面元素属性对外接口。

进一步的,报表数据采用已构建好的内存表动态填充的步骤中包括用遍历数据集内存表表名方式对构建的内存表对应的数据表进行填充。

本发明还提供一种基于stimulsoft的全动态生成报表实现系统,其包括

内存表构建模块,用于根据需求构建由代码动态创建的数据集;根据需求对该数据集进行运算,生成根据需求指定的报表数据内容的内存表;

报表动态生成模块,用于动态构建报表界面元素;采用已构建好的内存表动态填充报表数据;对已经填充好数据的报表进行编译生成报表显示。

本发明还提供一种设备,其包括:一个或多个处理器;用于存储一个或多个程序的存储器;当所述一个或多个程序被一个或多个处理器执行时,使得所述一个或多个处理器执行如前述的方法。

本发明基于stimulsoft的全动态生成报表实现方法提供的表元素全部由代码动态创建,非固定界面模板创建,数据层采用动态内存表构建,数据填充采用现场构建内存表动态填充技术,采用现场构建内存表填充可将报表的数据层构建成一个整体,内存表优点是占用资源少,且速度快,这样避免传统查询填充效率依赖于数据库处理瓶颈或者传统固定化设计好的数据源。

附图说明

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

图1是本发明实施例提供的基于stimulsoft的全动态生成报表实现方法步骤图。

图2是本发明实施例提供的上位机自行产生内存表的流程图。

图3是本发明实施例提供的数据库查询获取数据集构建内存表的流程图。

图4是本发明实施例提供的基于stimulsoft的全动态生成报表实现系统的模块图。

具体实施方式

下面将结合本技术方案实施例中的附图,对本技术方案实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术方案一部分实施例,而不是全部的实施例。基于本技术方案中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

请参阅图1,基stimulsoft生成报表实现方法,包括至少以下下步骤:s100、根据需求构建由代码动态创建的数据集。

内存表构建可以是上位机自行产生的数据进行构建,如自行创建的数据表。也可以是由数据库检索产生的数据集,内存表构建过程主要有表名、表头内容、表内数据内容。表名的作用主要用于区分同一份报表内部不同统计项目页面。数据库平台可以是mysql、sybase、oracle、microsoftsqlserver等关系型数据库。windows操作系统上的上位机程序平台一般选用基于.netframework平台框架的winform或者wpf等等。

以下对两种情况进行分别说明。

构建动态的数据集为上位机自行产生的数据进行构建,包括实例化产生一个空表,该空表的表名为具体报表需要统计分析、显示的大类别;空表新建列数据,列名为具体报表页面显示表头;表内新建行数据。

具体的,请参阅图2,实例化产生一个空表,表名为具体报表需要统计分析、显示的大类别。每个大类别分别对应报表具体某个页面内容。如需要生成的报表内容有第一页为封面页、第二页为所有数据平均值页、第三页面为所有数据的方差、第四页为所有数据的每个行最大值、最小值等行汇总页等等。则相应示例的空表表明可以是dt_封面、dt_平均、dt_方差、dt_行汇总等等。报表表名的作用在于代码现场动态构建报表需要创建那些不同类别新页面。

空表新建列,列名可以为具体报表页面显示表头。以需要构建的表将对应报表页面二为例、表头1为设备1、表头2为设备2表头3为设备三。表头的可编程性优点在于可以实现报表数据源字段动态调整。

表内新建行数据,以需要构建的表对应页面二为例,行一数据为设备1的平均值、行二为设备二的平均值、行3为设备3的平均值等等。

请参阅图3,由数据库查询获取数据集构建内存表,包括实例化一个空的数据集;向据集添加空数据表,并命名表名为对于报表页面大类型;根据需要构建的内存表表头及表内数据产生查询语句;向数据库发起查询,返回的数据集填充至实例化的空数据集。

s200、根据需求对该数据集进行运算,生成根据需求指定的报表数据内容的内存表。

根据需求对该内存表进行运算的步骤中,该运算包括加入数据列、拆分或合并等操作。

s300、动态构建报表界面元素。

基于目前市面提供的报表工具接口,基于stimulsoft采用编程方式用代码构建报表界面元素,如文本、标签、图表、数据表、横线、单选框及复选框等等,界面元素创建需要注意两个点:(1)、每个元素坐标;(2)、每个元素宽度及高度。

界面元素中数据表的动态构建依赖于内存表的数量及列数,这样后期产生的报表将不限定列数。

构建过程对外预留界面元素属性对外接口,以做后期上位机提供报表交互操作。

s400、报表数据采用已构建好的内存表动态填充。该步骤中包括用遍历数据集内存表表名方式对构建的内存表对应的数据表进行填充。

s500、对已经填充好数据的报表进行编译生成报表显示。

本发明还提供一种基于stimulsoft的全动态生成报表实现的系统,其包括

内存表构建模块201,用于根据需求构建由代码动态创建的数据集;根据需求对该数据集进行运算,生成根据需求指定的报表数据内容的内存表。

具体的,根据具体的业务需求构建数据集,数据集的创建可以由不同数据库平台查询而来。还可以是由上位机构建而来。内存表构建模块201还包括算逻辑处理模块,算逻辑处理模块用于对数据集进行运算。运算加入数据列、拆分或合并之中的一项或者几项。

报表动态生成模块202,用于动态构建报表界面元素;采用已构建好的内存表动态填充报表数据;对已经填充好数据的报表进行编译生成报表显示。

报表动态生成模块202构建过程对外预留界面元素属性对外接口,供后期上位机提供报表交互操作。

本发明还提供一种设备,其包括:一个或多个处理器;用于存储一个或多个程序的存储器;当所述一个或多个程序被一个或多个处理器执行时,使得所述一个或多个处理器执行如前述的方法。

本发明提供的基stimulsoft生成报表实现方法表元素全部由代码动态创建,非固定界面模板创建,数据集采用动态内存表构建,数据填充采用现场构建内存表动态填充技术。而采用现场构建内存表填充可将报表的数据层构建成一个整体,内存表优点是占用资源少,且速度快,这样避免传统查询填充效率依赖于数据库处理瓶颈或者传统固定化设计好的数据源。

并且由于可以现场构建,内存表字段可变,避免了传统构建数据源数据字段无法更改的局面。从而使报表数据绑定灵活可变,如表头字段内容直接跟随内存表表头。数据表列数数量不做限定处理,这样数据表总的容纳列数无限定,动态调整。

目前采用此办法可以对特定的数据分析应用场合起到关键性作用,如对于采集系统上位机的处理报表过程,这样做的效果是对采集系统单个主体采集设备数量不做限定,报表可以容纳可变的采集设备数据,同时对于特定用户需求上位机可以开辟界面交互让用户自行定义报表属性,如更换表内字体及大小、字体是否加粗、字体颜色、底纹颜色等等,从而实现交互性报表操作。

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

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1