公开/公告号CN1567287A
专利类型发明专利
公开/公告日2005-01-19
原文格式PDF
申请/专利权人 中兴通讯股份有限公司;
申请/专利号CN03131892.4
申请日2003-06-11
分类号G06F17/00;G06F17/20;
代理机构
代理人
地址 518057 广东省深圳市南山区高新技术产业园科技南路中兴通讯大厦法律部
入库时间 2023-12-17 15:47:27
法律状态公告日
法律状态信息
法律状态
2015-08-05
未缴年费专利权终止 IPC(主分类):G06F17/00 授权公告日:20070725 终止日期:20140611 申请日:20030611
专利权的终止
2007-07-25
授权
授权
2005-03-16
实质审查的生效
实质审查的生效
2005-01-19
公开
公开
技术领域
本发明涉及一种报表生成方法,更具体的说,是涉及一种基于XML即可扩展标记语言的集中式广谱报表生成方法。
背景技术
报表以表格的形式提供给用户所关心的数据及针对这些数据产生的一些分析结果,相对于其它数据提供的形式来说,具有简明、直观和规范等特点,在电信领域得到广泛应用,但是目前设备商提供给运营商的报表格式繁多,且报表输出点分散,用户为了制作一张报表,需要在多个地方来操作,尤其在用户对使用的系统不熟悉时,会感到无从下手。另外现在的报表制作种类局限在设备商提供的范围内,如果运营商有新的需求,只能等待设备商升级版本,舍此别无它法。
发明内容
本发明是为了克服现有技术中的不足之处,提供一种报表制作点集中,报表制作效率高,可满足多种用户需要的基于可扩展标记语言的集中式广谱报表生成方法。
本发明通过下述技术方案实现:
一种基于可扩展标记语言的集中式广谱报表生成方法,包括下列步骤:
1)读取报表的可扩展标记语言配置文件;
2)解析制作报表所需格式信息;
3)提取用于获取数据的结构化查询语言语句;
4)提取要连接的数据库信息;
5)连接数据库,获得数据结果集;
6)利用组件对象模型技术,创建EXCEL的组件对象模型对象实例;
7)将获得的结果集按照可扩展标记语言中指定的报表格式写入EXCEL,生成报表;
8)释放步骤6)产生的组件对象模型对象实例;
9)释放步骤5)产生的数据库连接。
根据需要,可以在步骤4)和步骤5)之间设置有下列步骤:提取条件设置参数,生成条件设置界面,并设置相关参数。
另外,当需要可执行文件或动态连接库来协助生成报表时,可执行文件或动态连接库与可扩展标记语言文件一起作为插件无缝嵌入系统中。
本发明具有下述有益效果:本发明报表制作点集中,提高了报表制作效率。另外可以根据用户的要求,随时添加满足用户要求的报表,实现了报表制作的广谱化,集中化,简单化,灵活化。
附图说明
图1为本发明的基于XML的集中式广谱报表生成方法的一个实施例的流程图。
图2为报表的XML配置规范。
图3为实施例根据XML配置文件生成的报表条件设置界面。
图4为利用本发明制作一张短信业务工作报告A表的实例效果图。
具体实施方式
一种报表对应于一个XML报表配置文件,该XML文件将报表以面向对象的方法抽象出来。报表划分成呈现形式和数据两个部分。
呈现形式部分主要描述:
a)报表是否是有运营商提供的报表模板,报表模板规定了数据填写的方式。
b)如果是有模板,还要指出是定点写还是逐行写,对于逐行方式还要指出报表数据填写区间(即从何行何列开始,到何行何列结束)。
c)报表的生成是否要通过其他模块(如可执行程序,动态连接库等),就是说在报表程序自身不能获取数据结果的情况下,可以提供获取数据结果帮助的模块。
数据部分又划分成数据源和数据抽取及与报表对应字段两个部分:
a)对于数据源部分,其主要描述:
数据源;
帐号(用户名和密码);
b)对于数据抽取及与报表对应字段部分,其主要描述:
查询的字段部分(包括数据源中的字段,对应的报表网格,呈现到报表的字头,对于有模板报表字头信息就可以没有,以及对于该字段的聚集函数,如求和,求平均等);
查询的条件部分(包括界面显示标题,在界面上的位置,条件类别等);
查询的数据源中的表集合部分;
结果集的排序部分(对定点写入的这部分不需要)。
对上面面向对象描述的两个部分,借助第三方的软件,比如MSXML(微软公司的XML文件解析器)可以进行解析,得到生成一张报表的足够信息,然后就可以进行数据库的连接、数据的抽取,最后按照报表呈现信息,将数据输出到EXCEL(微软公司的电子表单工具)中,生成一个EXCEL格式的报表。当用户有新的报表需求时,可以向设备提供商提出要求,设备提供商相应地提供XML报表配置文件作为插件,运营商可以动态的将此插件加入集中报表生成系统中,不用设备商升级版本。如果设备商还需要可执行文件或动态连接库来协助生成报表,也可一起提供,与XML报表配置文件一起作为插件无缝嵌入系统中。
下面以制作一张短信业务工作报告A表为具体实施例对本发明作详细说明。
根据附图2规定的报表规范,使用微软公司的XMLNotepad定制短信业务工作报告A表的XML文件,在该文件中要明确的内包括:
要连接的数据库,用户名称和密码;
由于这种报表,运营商提供了模板,所以要指定模板文件的名称,从那行和那列开始数据的写入;
要指定与该报表有关联的从数据库中那些数据表的字段;
指定报表统计的起始时间和结束时间及时间段信息;
指定字体、是否要预览报表等信息。
XML文件是纯文本文件,只要支持文本文件的编辑器都可以用来编写XML报表配置文件,比如WINDOWS下的记事本,当然也可以用建立XML文件的专门编辑器,如微软公司的XML Notepad。
1)报表程序读取用XML描述的短信业务工作报告A表配置文件。
2)解析配置文件中制作报表所需的相关信息如表头,字体等格式信息。
3)提取并整理出将返回数据结果集的结构化查询语言即SQL语句,通过该SQL语句,
报表程序将获得用于制作报表所需的数据结果。
4)提取要连接的数据库信息。
5)提取条件设置参数,生成条件设置界面,如附图3。在该界面上有起始日期与时间与终止日期与时间,四个时间段,在该界面上设置相关参数(如开始时间,起始时间,时间段等)。条件设置好后,报表程序将生成抽取结果集的SQL语句。
6)连接数据库,执行SQL语句,获得数据结果集。
7)利用COM即组件对象模型技术,创建EXCEL的COM对象实例,COM对象实例就是在计算机内存中创建一个EXCEL组件对象,该组件对象提供一些COM接口,供创建该对象的程序使用。
8)获得的数据结果按照XML报表配置文件中指定的报表格式(比如指定网格,逐行写等)写入EXCEL(微软公司的电子表单工具),生成如附图4的短信业务工作报告A表。
9)释放步骤7)产生的COM对象实例。
10)释放步骤6)产生的数据库连接。
尽管参照实施例对所公开的涉及基于XML的集中式广谱报表生成方法进行了特别描述,本领域技术人员将能理解,在不偏离本发明的范围和精神的情况下,可以对它进行形式和细节的种种显而易见的修改,如查询部分的表示方法,增加或删除生成数据库SQL语句所需要的内容,增加EXCEL字体的规定等。因此,以上描述的实施例是说明性的而不是限制性的,在不脱离本发明的精神和范围的情况下,所有的变化和修改都在本
发明的范围之内。
机译: 基于可扩展标记语言的移动银行应用程序的显示处理方法以及基于可扩展标记语言的移动银行应用程序的安装
机译: 一种基于形式语法的可扩展标记语言文档的验证方法,包括由检查者接收文档,并通过使用检查者基于过滤器确定规则
机译: 系统,其有助于在可扩展和可扩展的框架中提供可重用的设备驱动程序代码,以及用于生成可重用的可扩展标记语言(xml)设备驱动程序文件的方法