专利名称:一种通用报表制作装置和方法
技术领域:
本发明涉及一种报表的制作装置和方法,尤其涉及一种适合多种数据源位置 的通用报表制作装置和方法O
背景技术:
目前市场上已经有比较流行的制作报表工具,如crytalr印ort软件(水晶报 表),通过报表的制作可以将数据源组织成阅读性较高的文件。
用水晶报表软件制作报表是繁重和重复性操作的工作,对于同一类型的项目, 报表的样式具有相似性,因此报表模板可以解决相似性问题。但是对于数据源的多 样化,如果把数据源固定在报表模板中,则同样无法解决相似性问题。
发明内容
本发明的目的在于解决上述问题,提供了一种通用报表制作装置,解决了数 据源部署问题和相似性问题,降低了报表制作的成本。
本发明的另一目的在于提供了一种通用报表制作方法,解决了数据源部署问 题和相似性问题,降低了报表制作的成本。
本发明的技术方案为本发明揭示了一种通用报表制作装置,包括
数据库,存储数据源的数据;
数据源定义文件生成模块,定义数据源的位置;
报表文件生成模块,生成报表文件;
报表服务器,存储该数据源定义文件和该报表文件;
登陆模块,供用户登陆该报表服务器;
验证模块,验证登陆用户的身份;
参数传递模块,根据登陆用户的身份,将该数据源定义文件中对应的参数传 递给该报表文件;
读取接口模块,根据该些参数形成通用性的输入控件,接收用户选择;
数据源推送模块,根据该用户选择将该数据库中存储的数据源数据推送到该 报表文件中,以生成最终提供给该登陆用户的报表文件。
上述的通用报表制作装置,其中,该数据源定义文件包括数据源的参数定义、 该数据源定义文件对应的报表文件的文件名、数据源定义。
上述的通用报表制作装置,其中,该数据源定义文件还包括存储过程的参数调用。
上述的通用报表制作装置,其中,该数据源定义文件通过文本编辑器修改以 便改动报表的数据源位置。
本发明还揭示了一种通用报表制作方法,包括
生成定义数据源位置的数据源定义文件、报表文件,并存储在服务器上; 用户登陆服务器,进行身份验证;
如果身份验证通过则读取服务器上的该数据源定义文件,否则流程结束; 该数据源定义文件将其中的参数传递给该报表文件; 根据该些参数形成输入控件,接收用户选择;
根据该用户选择,数据库中的数据源数据推送到该报表文件中,生成最终提 供给该登陆用户的报表文件。
上述的通用报表制作方法,其中,生成该数据源定义文件包括定义数据源参 数、定义数据源文件对应的报表文件的文件名以及定义数据源自身。
上述的通用报表制作方法,其中,生成该数据源定义文件还包括定义存储过 程的参数调用。
上述的通用报表制作方法,其中,该方法还包括通过文本编辑器修改该数 据源定义文件以便改动报表的数据源位置。
本发明对比现有技术有如下的有益效果本发明通过将数据源抽象为一个数 据源定义文件,使其与一个报表文件一一对应,通过对数据源定义文件的编辑来确 定报表文件对应的数据源位置。对比传统技术,本发明能够使用一个报表文件来应 对多样化的数据源。
图1是本发明的通用报表制作装置的较佳实施例的原理图。 图2是本发明的通用报表制作方法的较佳实施例的流程图。
具体实施例方式
下面结合附图和实施例对本发明作进一步的描述。
图l示出了本发明的通用报表制作装置的较佳实施例的原理。请参见图1,
通用报表装置包括数据源定义文件生成模块1、报表文件生成模块2、报表服 务器3、登陆模块4、验证模块5、数据库6、参数传递模块7、读取接口模块 8和数据源推送模块9。
数据源定义文件生成模块1生成数据源定义文件30,例如rdf文件,存储 在报表服务器3上。数据源定义文件包括数据源的参数定义、数据源定义文件 对应的报表文件文件名以及数据源定义。较佳的,还包括存储过程的参数调用。 可以使用文本编辑器编辑数据源定义文件30。例如,在(control)字段中进 行私有参数的定义,在〔file〕字段中说明该数据源定义文件对应哪一个报表 文件,在〔PL〕字段中定义存储过程的参数调用,在(SQL〕字段中定义数据 源。因此,只需要修改〔control〕字段中的私有参数就能改动报表的数据源, 而不需要修改报表文件。.
报表文件生成模块2生成报表文件31,例如rpt文件,存储在报表服务器 31上。报表文件的编写是现有技术的一部分,可以使用水晶报表软件完成。
用户通过登陆模块4登陆报表服务器3,报表服务器3通过验证模块5和 数据库6中定义的用户管理数据交互,每个用户根据数据库6中定义的权限阅 读属于自己的报表文件。
数据源定义文件30中的参数通过参数传递模块7传递给报表文件31,同 时传递给读取接口模块8。读取接口模块8根据这些参数形成通用性的输入控 件,用户通过这些控件进行报表参数的选择。例如,读取接口模块8自动在窗 体中形成一个通用性的标准控件,比如文本框、下拉列表框等。用户在这些控 件中选择参数数据。
数据源推送模块9根据读取接口模块8读取的用户选择,从数据库6中将 相应的数据源数据推送到报表文件31中。例如,根据用户选择的参数,通过SQL语句自动组织报表的数据源,然后用水晶报表中现有的控件完成数据源数 据的推送。
图2示出了本发明的通用报表制作方法的较佳实施例的流程。请参见图2, 下面是对该方法中各步骤的详细描述。
步骤S10:生成定义数据源位置的数据源定义文件并存储在报表服务器上, 同时生成报表文件并存储在报表服务器上。
生成的数据源定义文件例如是rdf文件。数据源定义文件包括数据源的参 数定义、数据源定义文件对应的报表文件文件名以及数据源定义。较佳的,还 包括存储过程的参数调用。可以使用文本编辑器编辑数据源定义文件。例如, 在(control)字段中进行私有参数的定义,在〔file)字段中说明该数据源 定义文件对应哪一个报表文件,在〔PL〕字段中定义存储过程的参数调用,在 (SQL〕字段中定义数据源。因此,只需要修改(control)字段中的私有参数 就能改动报表的数据源,而不需要修改报表文件。
报表文件31例如是rpt文件。报表文件的编写是现有技术的一部分,可 以使用水晶报表软件完成。
步骤S11:用户登陆服务器并进行身份验证。
报表服务器和数据库中定义的用户管理数据交互。
步骤S12:验证是否通过,如果不通过则流程结束,如果通过则进入下一步。
步骤S13:读取报表服务器上的数据源定义文件。 每个用户根据数据库中定义的权限阅读属于自己的报表文件
步骤S14:数据源定义文件中的参数传递给报表文件。
步骤S15:根据这些参数形成通用性的输入控件,接收用户选择。
例如,自动在窗体中形成一个通用性的标准控件,比如文本框、下拉列表 框等。用户在这些控件中选择参数数据。
步骤S16:根据用户选择,推送数据库中的数据源数据到报表文件中,生
成最终提供给登陆用户的报表文件。
例如,根据用户选择的参数,通过SQL语句自动组织报表的数据源,然后
用水晶报表中现有的控件完成数据源数据的推送。
较佳的,该方法还可以包括通过文本编辑器修改数据源定义文件以便改动 报表的数据源位置。
上述实施例是提供给本领域普通技术人员来实现或使用本发明的,本领域普 通技术人员可在不脱离本发明的发明思想的情况下,对上述实施例做出种种修改或 变化,因而本发明的保护范围并不被上述实施例所限,而应该是符合权利要求书提 到的创新性特征的最大范围。
权利要求
1、一种通用报表制作装置,包括数据库,存储数据源的数据;数据源定义文件生成模块,定义数据源的位置;报表文件生成模块,生成报表文件;报表服务器,存储该数据源定义文件和该报表文件;登陆模块,供用户登陆该报表服务器;验证模块,验证登陆用户的身份;参数传递模块,根据登陆用户的身份,将该数据源定义文件中对应的参数传递给该报表文件;读取接口模块,根据该些参数形成通用性的输入控件,接收用户选择;数据源推送模块,根据该用户选择将该数据库中存储的数据源数据推送到该报表文件中,以生成最终提供给该登陆用户的报表文件。
2、 根据权利要求1所述的通用报表制作装置,其特征在于,该数据源定义文 件包括数据源的参数定义、该数据源定义文件对应的报表文件的文件名、数据源定 义。
3、 根据权利要求2所述的通用报表制作装置,其特征在于,该数据源定义文 件还包括存储过程的参数调用。
4、 根据权利要求l所述的通用报表制作装置,其特征在于,该数据源定义文 件通过文本编辑器修改以便改动报表的数据源位置。
5、 一种通用报表制作方法,包括生成定义数据源位置的数据源定义文件、报表文件,并存储在服务器上; 用户登陆服务器,进行身份验证;如果身份验证通过则读取服务器上的该数据源定义文件,否则流程结束;该数据源定义文件将其中的参数传递给该报表文件; 根据该些参数形成输入控件,接收用户选择;根据该用户选择,数据库中的数据源数据推送到该报表文件中,生成最终提 供给该登陆用户的报表文件。
6、 根据权利要求5所述的通用报表制作方法,其特征在于,生成该数据源定 义文件包括定义数据源参数、定义数据源文件对应的报表文件的文件名以及定义数 据源自身。
7、 根据权利要求6所述的通用报表制作方法,其特征在于,生成该数据源定 义文件还包括定义存储过程的参数调用。
8、 根据权利要求5所述的通用报表制作方法,其特征在于,该方法还包括 通过文本编辑器修改该数据源定义文件以便改动报表的数据源位置。
全文摘要
本发明公开了通用报表制作装置和方法,解决了数据源部署问题和相似性问题,降低了报表制作的成本。其技术方案为装置包括数据库,存储数据源的数据;数据源定义文件生成模块,定义数据源位置;报表文件生成模块,生成报表文件;报表服务器,存储数据源定义文件和报表文件;登陆模块,供用户登陆报表服务器;验证模块,验证用户身份;参数传递模块,根据登陆用户身份,将数据源定义文件中对应的参数传递给报表文件;读取接口模块,根据参数形成通用性输入控件,接收用户选择;数据源推送模块,根据该用户选择将数据库中存储的数据源数据推送到报表文件中,以生成最终提供给登陆用户的报表文件。本发明应用于报表制作领域。
文档编号G06F17/30GK101196903SQ200710173359
公开日2008年6月11日 申请日期2007年12月27日 优先权日2007年12月27日
发明者顾亚平 申请人:上海全景数字技术有限公司