首页> 中国专利> Excel报表的实现方法及Excel报表系统

Excel报表的实现方法及Excel报表系统

摘要

本发明实施例中公开了一种Excel报表的实现方法,包括:Excel报表模板创建过程和Excel报表生成过程;该方法通过在Excel报表模板创建过程中创建用于显示采集数据对象的返回字段的数据页面,并将该数据页面用作报表模板页面的数据源,使得在创建报表模板或自定义报表模板时能够直接引用所述数据页面中的数据,而无需知道所述数据页面中的数据与采集数据对象返回字段之间的关系,从而通过实现报表系统中数据层与展现层的分离,提供了所见即所得的报表模板创建功能。本发明实施例中还公开了一种Excel报表系统。应用本发明能够提供所见即所得的报表模板创建功能。

著录项

  • 公开/公告号CN101183356A

    专利类型发明专利

  • 公开/公告日2008-05-21

    原文格式PDF

  • 申请/专利权人 华为技术有限公司;

    申请/专利号CN200710160988.8

  • 发明设计人 陈宇;周昕宇;王伟;宋伟;

    申请日2007-12-14

  • 分类号G06F17/24(20060101);G06F17/30(20060101);

  • 代理机构11018 北京德琦知识产权代理有限公司;

  • 代理人宋志强;麻海明

  • 地址 518129 广东省深圳市龙岗区坂田华为总部办公楼

  • 入库时间 2023-12-17 20:11:07

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2018-12-07

    未缴年费专利权终止 IPC(主分类):G06F17/24 授权公告日:20091104 终止日期:20171214 申请日:20071214

    专利权的终止

  • 2009-11-04

    授权

    授权

  • 2008-07-16

    实质审查的生效

    实质审查的生效

  • 2008-05-21

    公开

    公开

说明书

技术领域

本发明涉及报表技术,特别涉及Excel报表的实现方法及Excel报表系统。

背景技术

报表系统用于创建报表模板、支撑报表的功能实现、生成报表。通常,报表系统需要提供所见即所得的报表模板创建功能,以使报表模板的创建快速、高效。下面对报表系统所涉及的基本概念进行简要介绍:

模板元素:构成报表模板的基本元素;在创建报表模板时,通常以一些变量表达式来表示模板元素的取值,在生成报表时,根据采集到的数据确定相应变量的具体取值,并确定变量表达式的值,然后以所确定的变量表达式的值填充模板元素所在位置。

采集数据对象:采集数据对象用于进行数据采集、获取数据。采集数据对象可以包括:存储过程,SQL语句等。采集数据对象可以根据实际应用的需要进行定义,即:定义该采集数据对象如何进行数据采集、返回哪些字段、返回字段的个数、返回字段的数据类型等。

最终用户:最终使用报表的用户。

自定义报表:最终用户修改或创建报表模板的过程称为自定义报表。

由于Excel使用广泛、功能强大、编辑灵活,并且,可以在Excel文件中创建图表以及表格,因此,一些报表系统厂商在其报表系统中提供了Excel报表模板的功能,也就是:将Excel文件作为报表模板的信息载体,用户可以直接在Excel文件中创建报表模板。

现有Excel报表的实现方法包括以下步骤:

第1步:创建Excel报表模板。

本步骤就是在Excel文件中创建一个页面(sheet),并在所述页面中创建一些模板元素,包含模板元素的Excel页面称为报表模板页面。在Excel文件中创建模板元素时(例如:表格),直接使用采集数据对象的返回字段所对应的变量来构造变量表达式。

第2步:生成Excel报表。

本步骤所述生成Excel报表的过程为:首先解析报表模板中的变量,并从数据库获取所述变量对应字段的取值,然后根据所述取值确定变量表达式的值,将所确定的变量表达式的值填充到Excel文件中对应变量表达式所在的位置。

本申请的发明人在实现本发明的过程中发现:上述现有方法在创建Excel报表模板时,直接使用了采集数据对象的返回字段所对应的变量来构造变量表达式,这要求开发人员非常熟悉所述返回字段与变量之间的对应关系,这种创建Excel报表模板的方式非常不直观,使得开发人员在创建报表模板的过程中很容易出错。此外,由于最终用户很难理解报表模板中变量的含义,也很难获知数据库中的字段与报表模板中的变量之间的对应关系,因此,在最终用户很难实现自定义报表。可见,现有Excel报表的实现方法不符合报表系统“所见即所得”的报表模板创建功能要求。

发明内容

有鉴于此,本发明实施例提供一种Excel报表的实现方法,提供所见即所得的报表模板创建功能。

本发明实施例还提供一种Excel报表系统,提供所见即所得的报表模板创建功能。

为达到上述目的,本发明实施例的技术方案具体是这样实现的:

一种Excel报表的实现方法,包括:Excel报表模板创建过程和Excel报表生成过程;

所述Excel报表模板创建过程包括:

在报表系统中创建用于生成数据页面的数据表格;

根据所述数据表格将采集数据对象获取的数据填充到所述数据页面;

将所述数据页面导入Excel文件;

在所述Excel文件中创建报表模板页面,所述报表模板页面以所述数据页面作为数据来源;

将所述包含数据页面和报表模板页面的Excel文件作为Excel报表模板;

所述Excel报表生成过程包括:

根据所述数据表格将采集数据对象获取的数据填充到所述数据页面;

将所述数据页面导入Excel文件;

根据所述数据页面中的数据,确定报表模板页面中相应报表元素的取值,得到Excel报表。

一种Excel报表系统,包括:

Excel报表模板创建模块,用于在报表系统中创建用于生成数据页面的数据表格,根据所述数据表格将采集数据对象获取的数据填充到所述数据页面,将所述数据页面导入Excel文件,并用于在所述Excel文件中创建报表模板页面,所述报表模板页面以所述数据页面作为数据来源,将所述包含数据页面和报表模板页面的Excel文件作为Excel报表模板;

Excel报表生成模块,用于根据所述数据表格将采集数据对象获取的数据填充到所述数据页面,将所述数据页面导入Excel文件,并用于根据所述数据页面中的数据,确定报表模板页面中相应报表元素的取值,得到Excel报表。

由上述技术方案可见,本发明实施例提供的Excel报表的实现方法,通过在Excel报表模板创建过程中创建用于显示采集数据对象的返回字段的数据页面,并将该数据页面用作报表模板页面的数据源,使得在创建报表模板或自定义报表模板时能够直接引用所述数据页面中的数据,而无需知道所述数据页面中的数据与采集数据对象返回字段之间的关系。并且,由于Excel展现数据的能力非常强大、灵活,同一Excel文件中不同页面之间可以互相作为数据源进行有关数据的处理与展现,从而使得本发明实施例所述技术方案能够通过将数据层与展现层分离,提供所见即所得的报表模板创建功能。

附图说明

图1为本发明实施例中一较佳Excel报表的实现方法的流程示意图;

图2为本发明实施例中一较佳Excel报表系统的组成结构示意图;

图3为本发明实施例中用于生成数据页面的表格的结构示意图;

图4为本发明实施例中生成的数据页面的结构示意图;

图5为本发明实施例中生成的Excel报表的结构示意图。

具体实施方式

为使本发明的目的、技术方案及优点更加清楚明白,以下参照附图并举实施例,对本发明作进一步详细说明。

本发明实施例所提供的Excel报表的实现方法,包括:Excel报表模板创建过程和Excel报表生成过程;其中:

所述Excel报表模板创建过程包括:

在报表系统中创建用于生成数据页面的数据表格;

根据所述数据表格将采集数据对象获取的数据填充到所述数据页面;

将所述数据页面导入Excel文件;

在所述Excel文件中创建报表模板页面,所述报表模板页面以所述数据页面作为的数据来源;

将所述包含数据页面和报表模板页面的Excel文件作为Excel报表模板;

所述Excel报表生成过程包括:

根据所述数据表格将采集数据对象获取的数据填充到所述数据页面;

将所述数据页面导入Excel文件;

根据所述数据页面中的数据,确定报表模板页面中相应报表元素的取值,得到Excel报表。

一个Excel文件可以包含多个页面(sheet),任意页面中的任意元素均可以以本页面或其他页面中的任意元素作为数据来源,将所述数据来源经预先设置的变换和/或运算之后得到的结果作为本元素的取值。所述页面中的元素可以是:表格、图表等。

本发明实施例所提供的上述Excel报表的实现方法中,利用了Excel文件的上述特性。通过在Excel报表模板创建过程中创建用于显示采集数据对象的返回字段的数据页面,并将该数据页面用作报表模板页面的数据来源,使得在创建报表模板或自定义报表模板时能够直接引用所述数据页面中的数据,而无需知道所述数据页面中的数据与采集数据对象返回字段之间的关系,从而使得本发明实施例所述技术方案能够实现数据层与展现层的分离,提供所见即所得的报表模板创建功能。

图1为本发明实施例中一较佳Excel报表的实现方法的流程示意图。参见图1,该方法包括:Excel报表模板创建过程和Excel报表生成过程,其中:

Excel报表模板创建过程包括:

步骤101:定义数据源和采集数据对象。

本步骤中,可以根据实际应用的需要定义数据源和采集数据对象。其中,定义数据源就是:指定报表模板的数据来源,由于采集数据对象能够获取返回字段,因此,定义数据源就是指定采集数据对象,并指定返回字段以及返回字段的类型等。定义采集数据对象就是:定义该采集数据对象如何进行数据采集、返回哪些字段、返回字段的个数、返回字段的数据类型等。

步骤102:在报表系统中创建数据表格。

本发明实施例所述数据表格用于生成数据页面,而数据页面用于显示数据源执行指定采集数据对象所获取的指定返回字段的数据,即:用于显示报表模板所需的原始数据。本步骤所创建的数据表格需要满足的要求是:为创建报表模板或自定义报表模板提供所见即所得的数据源,即:使开发人员在创建报表模板时或最终用户在自定义报表模板时,能够根据数据页面所显示的内容,确定需要在报表模板中使用数据页面中的哪些数据、以及如何在报表模板中使用所述数据页面中的数据。因此,所创建的数据表格只要能够以开发人员和最终用户能够理解的方式在数据页面中显示获取到的返回字段即可。因此,实现本步骤所述创建数据表格的最简单的方式就是:

在报表系统中创建一个表格,在所述表格中创建与所述数据源指定的返回字段一一对应的字段,使用所述数据源指定的返回字段所对应的变量为所述页面中对应的字段赋值。较佳地,所述数据表格中的字段可以使用开发人员和最终用户比较容易理解的方式命名。

步骤103:使用所述定义的数据源执行指定的采集数据对象,获取指定返回字段的数据,根据所述数据表格将获取的数据填充到所述数据页面中。

本步骤中,可以采取如下方式将获取的数据填充到所述数据页面中:首先,解析数据表格中的变量,然后,根据所述获取的数据确定所述变量的取值,并以所述确定的取值填充所述数据页面中对应的字段。

步骤104:将所述数据页面导入Excel文件。

步骤105:在所述Excel文件中创建报表模板页面,将所述数据页面作为所述报表模板页面中报表元素的数据来源。

经上述步骤后,得到了一个包含数据页面的Excel文件,本步骤中,可以在所述Excel文件中重新创建至少一个页面,作为报表模板页面,并在所述报表模板页面中创建模板元素,例如:表格、图表等。在创建模板元素时,将所述数据页面作为数据源。

如前所述,Excel具有非常强大、且非常灵活的展现数据的能力,同一Excel文件中不同页面之间、以及页面中的元素之间可以互相作为数据源进行有关数据的处理与展现,因此,可以使用Excel现有的功能,将数据页面作为报表模板页面的数据源,进行报表模板的创建与展现。

Excel报表生成过程包括:

步骤106:使用所述定义的数据源执行指定的采集数据对象,获取指定返回字段的数据。

步骤107:根据所述数据表格将获取的数据填充到所述数据页面中。

本步骤可以按照与步骤103相同的方式将获取的返回字段填充到数据页面中,并且,数据页面中的数据可以根据数据源中数据的更新自动刷新。

步骤108:将所述数据页面导入Excel文件。

步骤109:根据所述Excel报表生成过程中显示在数据页面中的数据,确定报表模板页面中相应报表元素的取值,得到Excel报表。

本步骤涉及同一Excel文件中的一个页面以另一个页面为数据源时,如何根据所述作为数据源的页面中的数据确定所述另一个页面的内容。Excel能够自动完成本步骤所述操作,得到Excel报表。

至此,结束本实施例Excel报表的实现方法。

利用本发明实施例在Excel报表模板创建过程中所创建的数据页面,最终用户能够非常容易地实现Excel报表模板自定义。Excel报表模板自定义过程可以包括:在所述创建的报表模板页面中创建和/或修改和/或删除报表元素,所述报表元素以所述数据页面中显示的数据作为数据源。当然,在实际应用中,最终用户可能首先需要从报表系统中将需要进行自定义的报表模板下载到本地,然后根据数据页面中显示的数据,在该报表模板进行创建和/或修改和/或删除报表元素的操作,并将所述自定义报表模板上传到报表系统中,覆盖原来的报表模板。

由上述技术方案可见,本发明实施例提供的Excel报表的实现方法,通过在Excel报表模板创建过程中创建用于显示采集数据对象的返回字段的数据页面,并将该数据页面用作报表模板页面的数据来源,使得在创建报表模板或自定义报表模板时能够直接引用所述数据页面中的数据,而无需知道所述数据页面中的数据与采集数据对象返回字段之间的关系。并且,由于Excel展现数据的能力非常强大、灵活,同一Excel文件中不同页面之间可以互相作为数据源进行有关数据的处理与展现,从而使得本发明实施例所述技术方案能够通过将数据层与展现层分离,提供所见即所得的报表模板创建功能。

对应于本发明实施例所提供的方法,本发明实施例中还提供了相应的Excel报表系统。该Excel报表系统包括:

Excel报表模板创建模块,用于在报表系统中创建用于生成数据页面的数据表格,根据所述数据表格将采集数据对象获取的数据填充到所述数据页面中,将所述数据页面导入Excel文件,并用于在所述Excel文件中创建报表模板页面,所述报表模板页面以所述数据页面作为数据来源,将所述包含数据页面和报表模板页面的Excel文件作为Excel报表模板;

Excel报表生成模块,用于根据所述数据表格将采集数据对象获取的数据填充到所述数据页面,将所述数据页面导入Excel文件,并用于根据所述数据页面中的数据,确定报表模板页面中相应报表元素的取值,得到Excel报表。

下面结合附图说明本发明实施例Excel报表系统的具体实施方式。

图2为本发明实施例中一较佳Excel报表系统的组成结构示意图。参见图2,该Excel报表系统包括:

Excel报表模板创建模块210,用于定义数据源和采集数据对象,并用于在报表系统中创建用于生成数据页面的数据表格,使用所述定义的数据源执行指定的采集数据对象,获取指定返回字段的数据,根据所述数据表格将采集数据对象获取的数据填充到所述数据页面,将所述数据页面Excel文件,以及用于在所述Excel文件中创建报表模板页面,将所述数据页面作为所述报表模板页面中报表元素的数据来源,将所述包含数据页面和报表模板页面的Excel文件作为Excel报表模板;

Excel报表生成模块220,用于使用所述定义的数据源执行指定的采集数据对象,获取指定返回字段的数据,根据所述数据表格将采集数据对象获取的数据填充到所述数据页面中,将所述数据页面导入Excel文件,并用于根据所述数据页面中的数据,确定报表模板页面中相应报表元素的取值,得到Excel报表。

图2所示Excel报表模板创建模块210中可以包括:

数据源定义子模块211,用于定义数据源和采集数据对象;所述定义数据源包括:指定采集数据对象、返回字段、返回字段的类型;

数据页面创建子模块212,用于在报表系统中创建用于生成数据页面的数据表格,使用所述定义的数据源执行指定的采集数据对象获取指定返回字段的数据,根据所述数据表格将采集数据对象获取的数据填充到所述数据页面,将所述数据页面导入Excel文件;

报表模板页面创建子模块213,用于在所述Excel文件中创建报表模板页面,所述报表模板页面中报表元素以所述数据页面作为数据来源,将所述包含数据页面和报表模板页面的Excel文件作为Excel报表模板。

图2所示数据页面创建子模块212中可以包括:

数据表格创建单元214,用于在报表系统中创建一个表格,在所述表格中创建与所述数据源指定的返回字段一一对应的字段,使用所述数据源指定的返回字段所对应的变量为所述页面中对应的字段赋值;

数据页面生成单元215,用于使用所述数据源执行指定的采集数据对象,获取指定返回字段的数据,解析数据表格中的变量,根据所述获取的指定返回字段的数据确定所述变量的取值,以所述确定的取值填充数据页面中对应的字段;

数据页面导入单元216,用于将所述填充得到的数据页面导入Excel文件。

图2所示Excel报表生成模块220中可以包括:

数据采集子模块221,用于使用所述定义的数据源执行指定的采集数据对象,获取指定返回字段的数据;

数据页面生成子模块222,用于解析数据表格中的变量,根据所述数据表格将数据采集子模块获取的返回字段确定所述变量的取值,以所述确定的取值填充所述数据页面中对应的字段;

数据页面导入子模块223,用于将填充得到的数据页面导入Excel文件;

报表生成子模块224,用于根据所述导入Excel文件的数据页面中的数据,确定报表模板页面中相应报表元素的取值,得到Excel报表。

图2所示Excel报表系统中还可以包括:

Excel报表模板自定义模块230,用于在所述创建的报表模板页面中创建和/或修改和/或删除报表元素,所述报表元素以所述数据页面中显示的数据作为数据源。

下面通过一个具体示例,说明本发明实施例所提供的技术方案如何在Excel中实现报表功能。该示例中,在Excel中实现报表功能包括如下步骤:

第1步:根据数据库中的数据,定义数据源和采集数据对象。假设该采集数据对象指定的返回字段如表1所示:

  字段名称  字段类型  城市  String  人口  Integer  年份  Integer  地区  Float

         表1

第2步:创建一个表格,该表格用于生成数据页面。

假设数据页面中需要显示表1所示“年份”和“人口”字段,并假设与“年份”字段对应的变量是:XMLDS.Year,与“人口”字段对应的变量是:XMLDS.Population,则本步骤所创建的表格可以如图3所示。图3中,Sum:“XMLDS.Population”)表示:对人口字段的值求和。

第3步:生成该表格的数据,报表系统将自动把此表格的结果导入到Excel文件中,作为Excel模板的数据页面,如图4所示。

第4步:假设需要一张报表模板,该报表模板要用柱图的形式反映每一年人口的数量。可以在包含数据页面的Excel文件中增加一个页面,并在此页面中创建一张柱图,柱图所使用的数据就是Excel文件数据页面中的数据,如此,可以得到如图5所示的Excel报表模板。

第5步:通过上述步骤,Excel报表模板已经创建完毕。在后续使用过程中,最终用户依据此报表模板生成报表时,Excel报表模板数据页面中的数据将根据数据源中的数据自动刷新,而Excel报表模板中报表模板页面的图表也会依据最新数据而刷新。

第6步:如果最终用户想自定义该报表模板(即:用户想修改此报表模板),可以直接从报表系统中将此Excel报表模板下载到本地,然后在Excel中根据自己的需求修改对应报表模板页面的报表元素,并保存、上传到报表系统。至此,最终用户就完成了报表模板的自定义过程。

由上述实施例可见,本发明实施例所提供的在Excel中实现报表功能的技术方案,通过在Excel报表模板创建过程中创建用于显示采集数据对象的返回字段的数据页面,并将该数据页面用作报表模板页面的数据源,使得在创建报表模板或自定义报表模板时能够直接引用所述数据页面中的数据,而无需知道所述数据页面中的数据与采集数据对象返回字段之间的关系。并且,由于Excel展现数据的能力非常强大、灵活,同一Excel文件中不同页面之间可以互相作为数据源进行有关数据的处理与展现,从而使得本发明实施例所述技术方案能够通过将数据层与展现层分离,提供所见即所得的报表模板创建功能。

本领域普通技术人员可以理解实现上述实施例方法中在Excel中实现报表功能的过程可以通过程序指令相关的硬件来完成,所述的程序可以存储于Excel报表系统的可读取存储介质中,该程序在执行时执行上述方法中的对应步骤。所述的存储介质可以如:ROM/RAM、磁碟、光盘等。

以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号