基于Stimulsoft的全动态生成报表实现方法、系统及设备[发明专利]

(19)中华人民共和国国家知识产权局
(12)发明专利申请
(10)申请公布号 (43)申请公布日 (21)申请号 201711123229.4
(22)申请日 2017.11.14
(71)申请人 深圳市瑞艾特科技有限公司
地址 518000 广东省深圳市龙华区龙华街
道民清路光辉科技园2栋1单元厂房6
楼602
(72)发明人 许统彬 
(74)专利代理机构 深圳茂达智联知识产权代理
事务所(普通合伙) 44394
代理人 夏龙
(51)Int.Cl.
G06F  17/24(2006.01)
G06F  9/451(2018.01)
G06F  17/30(2006.01)
(54)发明名称基于Stimulsoft的全动态生成报表实现方法、系统及设备(57)摘要本发明提供一种基Stimulsoft生成报表实现方法,其包括根据需求构建由代码动态创建的数据集;根据需求对该数据集进行运算,生成根据需求指定的报表数据内容的内存表;动态构建报表界面元素;报表数据采用已构建好的内存表动态填充;对已经填充好数据的报表进行编译生成报表显示。本发明以Stimulsoft生成报表实现方
法全部由代码动态创建,数据层采用动态内存表构建,数据填充采用现场构建内存表动态填充技术,采用现场构建内存表填充可将报表的数据层构建成一个整体,内存表优点是占用资源少,且速度快,避免传统查询填充效率依赖于数据库处理瓶颈或者传统固定化设计好的数据源。本发明还提供一种以Stimulsoft生成报表实现方法、
系统及设备。权利要求书1页  说明书4页  附图2页CN 108388550 A 2018.08.10
C N  108388550
A
1.一种基Stimulsoft生成报表实现方法,其特征在于,包括根据需求构建由代码动态创建的数据集;根据需求对该数据集进行运算,生成根据需求指定的报表数据内容的内存表;动态构建报表界面元素;报表数据采用已构建好的内存表动态填充;对已经填充好数据的报表进行编译生成报表显示。
2.如权利要求1所述的基Stimulsoft生成报表实现方法,其特征在于,构建动态的数据集为上位机自行产生的数据进行构建,包括实例化产生一个空表,该空表的表名为具体报表需要统计分析、显示的大类别;空表新建列数据,列名为具体报表页面显示表头;表内新建行数据。
3.如权利要求2所述的基Stimulsoft生成报表实现方法,其特征在于,由数据库查询获取数据集构建内存
表,包括:实例化一个空的数据集;向数据集添加空数据表,并命名表名为对于报表页面大类型;根据需要构建的内存表表头及表内数据产生查询语句;向数据库发起查询,返回的数据集填充至实例化的空数据集。
4.如权利要求1所述的基Stimulsoft生成报表实现方法,其特征在于,根据需求对该内存表进行运算的步骤中,该运算包括加入数据列、拆分或合并等操作。
5.如权利要求1所述的基Stimulsoft生成报表实现方法,其特征在于,构建报表界面元素包括构建每个元素坐标、每个元素宽度及高度。
6.如权利要求1所述的基Stimulsoft生成报表实现方法,其特征在于,界面元素中数据表的动态构建与内存表的数量及列数相关。
7.如权利要求1所述的基Stimulsoft生成报表实现方法,其特征在于,动态构建报表界面元素的步骤中包括对外预留界面元素属性对外接口。
8.如权利要求1所述的基Stimulsoft生成报表实现方法,其特征在于,报表数据采用已构建好的内存表动态填充的步骤中包括用遍历数据集内存表表名方式对构建的内存表对应的数据表进行填充。
9.基于Stimulsoft的全动态生成报表实现系统,其特征在在于,包括内存表构建模块,用于根据需求构建
由代码动态创建的数据集;根据需求对该数据集进行运算,生成根据需求指定的报表数据内容的内存表;报表动态生成模块,用于动态构建报表界面元素;采用已构建好的内存表动态填充报表数据;对已经填充好数据的报表进行编译生成报表显示。
10.一种设备,其特征在于,包括:一个或多个处理器;用于存储一个或多个程序的存储器;
当所述一个或多个程序被一个或多个处理器执行时,使得所述一个或多个处理器执行如权利要求 1-8任一项所述的方法。
权 利 要 求 书1/1页CN 108388550 A
基于Stimulsoft的全动态生成报表实现方法、系统及设备
技术领域
[0001]本发明涉及信息处理技术领域,尤其涉及一种基Stimulsoft生成报表实现方法、系统及设备。
背景技术
[0002]报表是用表格、图表等界面元素来直观显示数据,最终达到数据分析功能。[0003]目前市面上可
用于制作报表的工具如 word、Excel、wps等等。这类软件优点是通用性强,可以通过图形化界面编辑内容样式丰富报表。缺点是接口封闭,无法应用于特殊场合报表系统融合调用编辑等等,所以特殊应用的场合如现场数据采集系统若要通过此类制作软件生成报表,则需要手动一一将数据填充到这类软件,并且根据数据来源设计分析统计类报表,由于一般的现场数据采集分析数据模式单一、固定,如果通过此类软件生成分析报表,则需要每次手动制表,这样操作麻烦、过程繁琐、重复性工作太大。
[0004]由于word、Excel、wps等软件接口封闭,报表数据无法实时刷新,目前市面出现一些特殊场合应用的报表编辑系统,此类工具具有开放的对外接口,并且数据处理灵活、图形化编辑界面使得报表模板创建如office编辑一样简单。对外的接口可以提供不同平台开发的上位机软件调用,这样对于特定应用场合的数据分析处理报表其实只需要做一套满足数据统计汇总分析类报表模板即可。此类报告还有个点,数据可以动态刷新,这样不需要像office那样每次都得手动制作报表并且手动填充数据。
[0005]目前市面可以提供对外接口的主流报表生成系统通用处理流程主要有:①、图形化报表模板创建,主要利用图表编辑器创建对象为标准的报表界面元素,如页眉、页脚、图表、数据表、标签、横线、单选框复选框等等。②、报表模板界面元素属性配置。③、报表模板数据源构建。④、报表模板数据源填充。⑤、编译报表模板。⑥、生成报表内容。
[0006]目前市面可以提供对外接口的主流报表生成系统通用处理流程缺陷主要有:①、基于界面设计固
定模板不够灵活,不满足特殊需求的属性动态编辑修改等等。②、数据源配置不够灵活,固定的字段处理无法满足一些特殊应用需求场合。③、对于数据表来说,通用处理流程对数据表列对象的填充数量已做固定处理,无法动态修改。这样对于一些应用场合来说,只能分析数量固定的列。
[0007]目前已有对这类通用处理流程改进的技术如:CN105260349A -可动态改变模板大小的Ireport报表生产方法,已对报表模板动态修改大小,但这样的处理方式仍然基于已编辑定义好的模板对象,仍然不够灵活,只是对字段的宽度计算处理,更改模板属性而已,对于报表所需数据仍然采用模板方式固定化处理。
发明内容
[0008]本技术方案实施例的目的在于提供一种报表的模板全动态生成的基Stimulsoft 生成报表实现方法及系统。
[0009]本发明提供一种基Stimulsoft生成报表实现方法,其特征在于,包括根据需求构
建由代码动态创建的数据集;根据需求对该数据集进行运算,生成根据需求指定的报表数据内容的内存表;动态构建报表界面元素;报表数据采用已构建好的内存表动态填充;对已经填充好数据的报表进行编译生成报表显示。
[0010]进一步的,构建动态的数据集为上位机自行产生的数据进行构建,包括实例化产生一个空表,该空表的表名为具体报表需要统计分析、显示的大类别;空表新建列数据,列名为具体报表页面显示表头;表内新建行数据。
[0011]进一步的,由数据库查询获取数据集构建内存表,包括:实例化一个空的数据集;向数据集添加空数据表,并命名表名为对于报表页面大类型;根据需要构建的内存表表头及表内数据产生查询语句;向数据库发起查询,返回的数据集填充至实例化的空数据集。[0012]进一步的,根据需求对该内存表进行运算的步骤中,该运算包括加入数据列、拆分或合并等操作。
[0013]进一步的,构建报表界面元素包括构建每个元素坐标、每个元素宽度及高度。[0014]进一步的,界面元素中数据表的动态构建与内存表的数量及列数相关。
[0015]进一步的,动态构建报表界面元素的步骤中包括对外预留界面元素属性对外接口。
[0016]进一步的,报表数据采用已构建好的内存表动态填充的步骤中包括用遍历数据集内存表表名方式对构建的内存表对应的数据表进行填充。
[0017]本发明还提供一种基于Stimulsoft的全动态生成报表实现系统,其包括内存表构建模块,用于根据需求构建由代码动态创建的数据集;根据需求对该数据集进行运算,生成根据需求指定的报表数据内容的内存表;
报表动态生成模块,用于动态构建报表界面元素;采用已构建好的内存表动态填充报表数据;对已经填充好数据的报表进行编译生成报表显示。
[0018]本发明还提供一种设备,其包括:一个或多个处理器;用于存储一个或多个程序的存储器;当所述一个或多个程序被一个或多个处理器执行时,使得所述一个或多个处理器执行如前述的方法。
[0019]本发明基于Stimulsoft的全动态生成报表实现方法提供的表元素全部由代码动态创建,非固定界面模板创建,数据层采用动态内存表构建,数据填充采用现场构建内存表动态填充技术,采用现场构建内存表填充可将报表的数据层构建成一个整体,内存表优点是占用资源少,且速度快,这样避免传统查询填充效率依赖于数据库处理瓶颈或者传统固定化设计好的数据源。
附图说明
[0020]为了更清楚地说明本技术方案的技术方案,下面将对实施方式中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0021]图1是本发明实施例提供的基于Stimulsoft的全动态生成报表实现方法步骤图。[0022]图2 是本发明实施例提供的上位机自行产生内存表的流程图。
[0023]图3是本发明实施例提供的数据库查询获取数据集构建内存表的流程图。
[0024]图4是本发明实施例提供的基于Stimulsoft的全动态生成报表实现系统的模块图。
具体实施方式
[0025]下面将结合本技术方案实施例中的附图,对本技术方案实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术方案一部分实施例,而不是全部的实施例。基于本技术方案中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0026]请参阅图1,基Stimulsoft生成报表实现方法,包括至少以下下步骤:S100、根据需求构建由代码动态创建的数据集。
[0027]内存表构建可以是上位机自行产生的数据进行构建,如自行创建的数据表。也可以是由数据库检索产生的数据集,内存表构建过程主要有表名、表头内容、表内数据内容。表名的作用主要用于区分同一份报表内部不同统计项目页面。数据库平台可以是MySQL、Sybase、Oracle、Microsoft SQL Server等关系型数据库。Windows 操作系统上的上位机程序平台一般选用基于.Net Framework平台框架的winform或者WPF等等。
[0028]以下对两种情况进行分别说明。
[0029]构建动态的数据集为上位机自行产生的数据进行构建,包括实例化产生一个空表,该空表的表名为具体报表需要统计分析、显示的大类别;空表新建列数据,列名为具体报表页面显示表头;表内新建行数据。
[0030]具体的,请参阅图2,实例化产生一个空表,表名为具体报表需要统计分析、显示的大类别。每个大类别分别对应报表具体某个页面内容。如需要生成的报表内容有第一页为封面页、第二页为所有数据平均值页、第三页面为所有数据的方差、第四页为所有数据的每个行最大值、最小值等行汇总页等等。则相应示例的空表表明可以是dt_封面、dt_平均、dt_方差、dt_行汇总等等。报表表名的作用在于代码现场动态构建报表需要创建那些不同类别新页面。
[0031]空表新建列,列名可以为具体报表页面显示表头。以需要构建的表将对应报表页面二为例、表头1为设备1、表头2为设备2表头3为设备三。表头的可编程性优点在于可以实现报表数据源字段动态调整。
[0032]表内新建行数据,以需要构建的表对应页面二为例,行一数据为设备1的平均值、行二为设备二的平均值、行3为设备3的平均值等等。
[0033]请参阅图3,由数据库查询获取数据集构建内存表,包括实例化一个空的数据集;向据集添加空数
据表,并命名表名为对于报表页面大类型;根据需要构建的内存表表头及表内数据产生查询语句;向数据库发起查询,返回的数据集填充至实例化的空数据集。[0034]S200、根据需求对该数据集进行运算,生成根据需求指定的报表数据内容的内存表。
[0035]根据需求对该内存表进行运算的步骤中,该运算包括加入数据列、拆分或合并等操作。
[0036]S300、动态构建报表界面元素。
[0037]基于目前市面提供的报表工具接口,基于Stimulsoft采用编程方式用代码构建报

本文发布于:2024-09-20 15:37:58,感谢您对本站的认可!

本文链接:https://www.17tex.com/xueshu/787504.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:报表   数据   构建   生成   动态   内存   元素
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议