管理系统报表生成方法和装置的制作方法

文档序号:6581926阅读:121来源:国知局
专利名称:管理系统报表生成方法和装置的制作方法
技术领域
本发明涉及报表生成方法和装置,特别涉及一种管理系统报表生成方法和装置。
技术背景报表系统用于创建报表模板、支撑报表的功能实现、生成报表。通常,报表系统需要提 供所见即所得的报表模板创建功能,以使报表模板的创建快速、高效。下面对报表系统所涉 及的基本概念进行简要介绍-模板元素构成报表模板的基本元素;在创建报表模板时,通常以一些变量表达式来表示模板元素的取值,在生成报表时,根据采集到的数据确定相应变量的具体取值,并确定变量 表达式的值,然后以所确定的变量表达式的值填充模板元素所在位直。采集数据对象采集数据对象用于进行数据采集、获取数据。采集数据对象可以包括 存储过程,SQL语句等。采集数据对象可以根据实际应用的需要进行定义,B卩定义该采集数 据对象如何进行数据采集、返回哪些字段、返回字段的个数、返回字段的数据类型等。最终用户最终使用报表的用户。自定义报表最终用广修改或创建报表模板的过程称为自定义报表。由于Excel使用广泛、功能强大、编辑灵活,并且,可以在Excel文件中创建图表以及 表格,因此, 一些报表系统厂商在其报表系统中提供了 Excel报表模板的功能,也就是将 Excel文件作为报表模板的信息载体,用户可以直接在Excel文件中创建报表模板。现有Excel报表的实现方法包括以下步骤第l步创建Excel报表模板。本步骤就是在Excel文件中创建一个页面(sheet),并在所述页面中创建一些模板元素, 包含模板元素的Excel页面称为报表模板页面。在Excel文件中创建模板元素时(例如表 格),直接使用采集数据对象的返回字段所对应的变量来构造变量表达式。第2步生成Excel报表。本步骤所这生成Excel报表的过程为首先解析报表模板中的变量,并从数据库获取所 述变量对应字段的取值,然后根据所述取值确定变量表达式的值,将所确定的变量表达式的 值填充到Excel文件中对应变量表达式所在的位置。本中请的发明人在实现本发明的过程中发现上述现有方法在创建Excel报表模板时, 直接使用了采集数据对象的返回字段所对应的变量来构造变量表达式,这要求开发人员非常 熟悉所述返回字段与变量之间的对应关系,这种创建Excel报表模板的方式非常不主观,使 得开发人员在创建报表模板的过程中很容易出错。此外,由于最终用户很难理解报表模板中 变量的含义,也很难获知数据库中的字段与报表模板中的变量之间的对应关系,因此,在最 终用户很难实现自定义报表。可见,现有Excel报表的实现方法不符合报表系统"所见即所 得"的报表模板创建功能要求。为了解决上述问题,中国专利公开号CN101183356A,揭示了一种Excel报表的实现方法 及Excel报表系统,包括Excel报表模板创建过程和Excel报表生成过程;该方法通过在 Excel报表模板创建过程中创建用于显示采集数据对象的返回字段的数据页面,并将该数据页 面用作报表模板页面的数据源,使得在创建报表模板或自定义报表模板时能够直接饮用所述 页面中的数据,而无需知道所述数据页面中的数据与采集数据对象返回字段之间的关系,从 而通过实现报表系统中数据层与展现层的分离,提供了所见即所得的报表模板创建功能。以 及一种应用该发明能够提供所见即所得的报表模板创建功能的Excel报表系统。中国专利公开号CN1787448A,揭示了一种电信设备性能报表的自动生成方法,包括从各 个数据源中采集报表元数据的歩骤;根据指定条件过滤步骤采集的报表元数据,生成所需的 报表数据集的步骤;按照报表指定格式调整报表数据集的步骤;解析报表数据集,填充数据 的歩骤。利用该发明的方法,直接将用户给定的Excel模板读入,最后输出的报表保持了和 模板完全一致的格式,报表系统代码不变的情况下,支持Excel模板的随意变化。该发明所 阐述的报表自动生成方法还支持多种数据存储方式。但在实际使用中,上述方法还存在一些缺陷,使用起来复杂。有鉴于此,本领域发明人 研发了一种基于Excel的报表自动生成装置和方法,用于减少由于报表格式或内容的变化导 致的报表维护复杂性的增加,减轻报表维护人员的工作量。发明内容本发明的目的在于,提供一种管理系统报表生成方法和装置,克服了现有技术的困难, 以达到减少由于报表格式或内容的变化导致的报表维护复杂性的增加,减轻报表维护人员的 工作量的目的。本发明采用如下技术方案本发明的一种管理系统报表生成方法,包括以下步骤1) 根据系统的功能模块确定该模块的报表类型和报表数据项的标记;2) 定义报表数据获取的接口,数据接口定义获取数据必要的参数信息的表达方式,数据 结果的存储方式,其中所述接口的返回值以键值对集合的形式表示;3) 创建报表模板;4) 创建数据获取接口;5) 打开报表模板,读取报表模板的数据项信息,调用数据获取接口获取数据,将数据写 入到报表模板的指定位置;6) 将填写完报表数据的报表生成到指定的路.径,完成报表的生成。进一步地,所述步骤4)中包括根据步骤l)中定义的报表模板的报表类型和报表数据项 的标记,对数据项的标记所包含的数据项信息进行解析处理,根据解析处理的结果从关系数 据库中获取对应的数据并将数据按照步骤2)中定义的接口的返回值的约定进行组织。进一步地,所述步骤5)中包括根据步骤2)中定义的返回值将数据写入到报表模板的指 定位置。进一步地,所述步骤2)中的接口为Dictio匿y〈string, string〉 GetR印ortValue (string symbol, Dictionary〈string, string〉 param), 其中, "symbol"为在步骤1) 中定义的报表数据项的标记;"param"为在步骤1)中定义的报表类型及功能模块约定的参 数定义;返回结果以键值对集合的形式表示,其中的键名为"(row, column)",其中"row" 表示以模板数据项为坐标原点的向下计数的行号,"column"表示以模板数据项为坐标原点 的向右计数的列号,当没有连续在模板上输入的数据,则只有键"(0, 0)",键值即为对 应的数据项的数据值。本发明的一种管理系统报表生成装置,用于实现上述的管理系统报表生成方法,包括 报表数据管理器,作为报表生成装置对外提供服务的接口,供需要生成报表时来调用; Excel引擎,作为Excel进程的管理器;报表模板标记解析器,用于对报表模板的标记按照报表制作规范的约定进行解析; 报表数据访问器,根据解析结果执行数据库访问操作来获取数据并将数据返回给报表数 据管理器,由报表数据管理器将数据值填充到Excel文件中。进一步地,所述Excel引擎用于对Excel实例进程的创建、卸载。进一步地,所述报表模板标记解析器通过所述数据获取接口对报表模板的标记按照报表 制作规范的约定进行解析。由于采用了以上技术,本发明与现有技术相比,本发明的装置和方法建立在Excel电子表格的技术基础之上,对于普通技术人员来说容易掌握,该发明能够减轻报表维护人员对于 报表工具知识的依赖,能够将主要精力放在报表模板的制作规范以及报表模板的制作上面来。 从基础能源管理系统的应用角度來看,采用此发明进行报表的生成满足了对报表系统功能的 要求。
以下结合附图及实施例进一步说明本发明。


图1为本发明管理系统报表生成方法的流程图2为本发明实施例中管理系统报表生成方法的流程图3为本发明管理系统报表生成装置的模块连接框图4为本发明实施例中冶金企业能源管理系统运行支持模块报表制作规范; 图5为本发明实施例中冶金企业能源管理系统动力调度日志报表模板。
具体实施例方式
下面通过图1至5,来介绍本发明的一种具体实施例。
如图1所示,本发明的管理系统报表牛成方法,包括以下歩骤
1 )根据系统的功能模块确定该模块的报表类型和报表数据项的标记定义报表模板的制作 规范,规范约定报表类型和报表数据项的标W。在基础能源管理系统中,报表类型和报表数 据项的标记约定按照系统的功能模块来进行,也就是说针对系统的每一个功能模块确定该模 块的报表模板制作规范。
2) 定义报表数据获取的接口。数据接口定义获取数据必要的参数信息的表达方式,数据
结果的存储方式。本方法确定的数据接口为Dictionary〈string, str化g〉 GetR印ortValue (string symbol, Dictionary〈string, string〉 param), 其中, "symbol"为在步骤1) 中定义的报表数据项的标记;"p虹am"为在步骤一中定义的报表类型及功能模块约定的参数 定义;返回结果以键值对集合的形式表示,其中的键名为"(row, column)",其中"row" 表示以模板数据项为坐标原点的向下计数的行号,"col咖n"表不以模板数据项为坐标原点 的向右计数的列号,当没有连续在模板上输入的数据,则只有键"(0, 0)",键值即为对 应的数据项的数据值。
3) 按照步骤l)中定义的报表模板的制作规范创建报表模板。
4) 实现歩骤2)中定义的数据获取接口。在基础能源管理系统中,不同的功能模块实现各自的数据获取接口。实现的过程中,根据步骤l)定义的报表模板制作规范的约定,对数据 项的标记所包含的数据项信息进行解析处理,根据解析处理的结果从关系数据库中获取对应 的数据并将数据按照步骤2)中定义的接口的返回值的约定进行组织。
5) 打开报表模板,读取报表模板的数据项信息,调用数据获取接口获取数据,根据步骤 2)中定义的返回值将数据写入到报表模板的指定位置。
6) 将填写完报表数据的报表生成到指定的路径,完成报表的生成。
定义报表模板的制作规范,规范对报表的数据项的标记进行了约定,该约定体现了数据 项标记的表达方式。报表模板必须要依据报表模板制作规范进行制作。对报表模板中的数据 项的值通过定义数据获取接口来获取,数据接口定义获取数据必要的参数信息的表示方式和 数据结果的表示方式。
如图3所示,本发明的一种管理系统报表生成装置包括四个部分,报表数据管理器、Excel 引擎、报表模板标记解析器和报表数据访问器。报表数据管理器是报表生成装置对外提供服 务的接口,供需要生成报表时来调用;Excel引擎是Excel进程的管理器,包括Excel实例进 程的创建、卸载;报表模板标记解析器是对报表模板的标记按照报表制作规范的约定进行解 析;报表数据访问器根据解析结果执行数据库访问操作来获取数据并将数据返回给报表数据 管理器,由报表数据管理器将数据值填充到Excel文件中。
其中,报表模板的数据项标记解析及数据获取处理必须实现所述数据获取接口 。标记解 析必须按照报表制作规范的约定处理;数据获取根据解析出来的标记代表的意义从关系数据 库中获取数据值。
基础能源管理系统中的运行支持模块输出调度Fl志报表。下面以调度R志报表的自动生 成过程为例说明本发明的报表生成装置和方法的应用。
定义报表模板的制作规范。运行支持模块的报表制作规范如图4所示。该规范定义了运 行支持模块的三种报表中的数据的表达方式,定义了数据项目类型的表达方式。
按照定义好的报表模板制作规范制作报表模板,制作好的调度fl志报表模板如图5所示。
报表生成装置的结构如图3所示。报表生成装置由四个部分组成报表数据管理器、Excel 引擎、报表模板标记解析器和报表数据访问器。报表数据管理器是报表生成装置对外提供服 务的接口,供需要生成报表时来调用Excel引擎足Excel进程的管理器,包括Excel实例进 程的创建、卸载;报表模板标记解析器是对报表模板的标记按照报表制作规范的约定进行解 析;报表数据访问器根据解析结果执行数据库访问操作来获取数据并将数据返回给报表数据 管理器,由报表数据管理器将数据值填充到Excel文件中。报表数据管理器提供了报表数据访问器必须实现的数据获取接口 ,报表数据访问器实现 数据获取接口。
本实施例中的报表生成流程图如图2所示
1) 调用报表管理器的创建报表功能,参数为报表模板的名称和路径,待生成报表文件的 名称和路径。报表模板按照报表模板制作规范建立。
2) 报表管理器调用Excel引擎创建一个Excel进程实例,该实例负责读取Excel模板以 及写入Excel报表文件。
3) Excel进程打开报表模板。
4) 报表管理器根据模板类型创建实现数据获取接口的报表数据访问器。
5) Excel进程依次读取报表模板标记。
6) 报表管理器调用报表数据访问器处理报表模板标记。
7) 报表数据访问器调用报表模板标记解析器解析标记。
8) 报表数据访问器使用报表模板标记解析器的解析结果组织成关系数据库的数据访问脚本。
9) 报表数据访问器执行数据库访问脚本获取数据值。
10) 报表管理器用报表数据访问器返回的数据值按照数据获取接口的约定填充Excel文件。
11) 报表管理器将Excel文件按照指定的文件名称和路径保存。 本发明与背景技术中的Excel报表的实现方法及Excel报表系统的技术要点比较 目的类似,该发明的目的是为了方便报表模板的维护,并且利用编辑好的报表模板来自
动生成报表。上述发明的目的也是通过所见即所得的方式创建报表模板,并利用报表模板来 自动生成报表。
实现的途径不同,该发明强调模板的编制规范的制定,通过定义好的编制规范来制作报 表模板,报表生成系统通过对按照报表制作规范制作的报表模板的解析来生成报表。而报表 模板的编制规范与报表的业务相关,对于实际报表的使用人员,也可以方便的定义报表制作 规范。而上述发明是通过提供报表上可以显示的数据的页面來辅助创建报表模板。 本发明与背景技术中的电信设备性能报表的自动生成方法的技术要点比较 目的不同,本发明的目的是为了方便报表模板的维护,并且利用编辑好的报表模板来自 动生成报表。上述发明目的主要是准备报表待显示的数据源并通过对数据源提供过滤来方便 报表数据的选择。本发明采用Excel电子表格作为载体来呈现报表。当有其他的报表载体的报表文件格式 支持报表模板的创建,则可以采用该文件格式替换Excel来实现本发明。
综上可知,本发明技术方案与传统的报表生成方法的主要区别在于定义了报表模板的制 作规范并根据规范来制作报表模板,这样使得报表模板的制定有规律可循, 一旦报表模板需 要做出变化,只需要按照规范重新制作和修改即可,而报表的生成过程没有任何变化,使得 报表的维护工作主要体现为维护报表模板,减轻了报表维护的工作量。
以上所述的实施例仅用于说明本发明的技术思想及特点,其目的在于使本领域内的技术 人员能够了解本发明的内容并据以实施,不能仅以本实施例来限定本发明的专利范围,即凡 依本发明所揭示的精神所作的同等变化或修饰,仍落在本发明的专利范围内。
权利要求
1、一种管理系统报表生成方法,其特征在于,包括以下步骤1)根据系统的功能模块确定该模块的报表类型和报表数据项的标记;2)定义报表数据获取的接口,数据接口定义获取数据必要的参数信息的表达方式,数据结果的存储方式,其中所述接口的返回值以键值对集合的形式表示;3)创建报表模板;4)创建数据获取接口;5)打开报表模板,读取报表模板的数据项信息,调用数据获取接口获取数据,将数据写入到报表模板的指定位置;6)将填写完报表数据的报表生成到指定的路径,完成报表的生成。
2、 根据权利要求1所述的管理系统报表生成方法,其特征在于所述步骤4)中包括根 据步骤l)中定义的报表模板的报表类型和报表数据项的标记,对数据项的标记所包含的数据 项信息进行解析处理,根据解析处理的结果从关系数据库中获取对应的数据并将数据按照步 骤2)中定义的接口的返回值的约定进行组织。
3、 根据权利要求2所述的管理系统报表生成方法,其特征在于所述步骤5)中包括根 据步骤2)中定义的返回值将数据写入到报表模板的指定位置。
4、 根据权利要求1至3中任意一项所述的管理系统报表生成方法,其特征在于所述歩 骤 2 ) 中的接口为Dictionary〈string, string〉 GetR印ortValue ( string symbol, Dictionary〈string, string〉 param),其中'"symbol"为在歩骤l)中定义的报表数据项 的标记;"param"为在歩骤1)中定义的报表类型及功能模块约定的参数定义;返回结果以 键值对集合的形式表示,其中的键名为"(row, column)",其中"row"表示以模板数据 项为坐标原点的向下计数的行号,"column"表示以模板数据项为坐标原点的向右计数的列 号,当没有连续在模板上输入的数据,则只有键"(0, 0)",键值即为对应的数据项的数 据值。
5、 一种管理系统报表生成装置,用于实现如权利要求1至4中任意一项所述的管理系统 报表生成方法,其特征在于包括报表数据管理器,作为报表生成装置对外提供服务的接口,供需要生成报表时来调用; Excel引擎,作为Excel进程的管理器;报表模板标记解析器,用于对报表模板的标记按照报表制作规范的约定进行解析; 报表数据访问器,根据解析结果执行数据库访问操作来获取数据并将数据返回给报表数 据管理器,由报表数据管理器将数据值填充到Excel文件中。
6、 根据权利要求5所述的管理系统报表生成装置,其特征在于所述Excel引擎用于对 Excel实例进程的创建、卸载。
7、 根据权利要求5或6所述的管理系统报表生成装置,其特征在于所述报表模板标记 解析器通过所述数据获取接口对报表模板的标记按照报表制作规范的约定进行解析。
全文摘要
本发明揭示了一种管理系统报表生成方法和装置,其方法包括以下步骤1)根据系统的功能模块确定该模块的报表类型和报表数据项的标记;2)定义报表数据获取的接口,数据接口定义获取数据必要的参数信息的表达方式,数据结果的存储方式,其中所述接口的返回值以键值对集合的形式表示;3)创建报表模板;4)创建数据获取接口;5)打开报表模板,读取报表模板的数据项信息,调用数据获取接口获取数据,将数据写入到报表模板的指定位置;6)将填写完报表数据的报表生成到指定的路径,完成报表的生成;其装置包括报表数据管理器、Excel引擎、报表模板标记解析器和报表数据访问器。
文档编号G06F17/24GK101661460SQ20091019593
公开日2010年3月3日 申请日期2009年9月18日 优先权日2009年9月18日
发明者兵 沈, 黄瑞航 申请人:上海宝信软件股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1