admin 管理员组

文章数量: 1184232


2024年4月20日发(作者:fpga培训一般多少钱)

2010年第3期 SCIENCE&TECHNOLOGY INFORMATION O IT论坛0 科技信息 

基于XML的web报表的设计与实现 

刘鹏程 

(绍兴文理学院元培学院浙江绍兴312000) 

I摘要】本文在充分理解了web统计业务的需求后,分析web报表的物理结构和逻辑表示,阐释了web报表的处理过程.探讨了web报 

表的总体框架,分析说明了web报表中的一些关键问题。 

【关键词】web报表;物理结构;逻辑表示 

0前言 

件,产生符合XML规范的报表样式描述文件。 

1.2该Serverlet中的另外一个方法getReprotDataO用于从数据库中读 

统计是人类认识客观事物数量方面所形成的一个概念.工业统计 

取报表中需要动态生成的数据,并将这些数据按预先定义的XML标 

是统计的一个分支。而企业是工业的基本单位,可见企业统计是最基 

记组织成符合XML规范的报表数据描述文件。 

本的工业统计。 

1.3服务器中的Serverlet则负责解析系统采集接口读取数据库后产 

目前.传统的报表生成系统有比较大的局限性.主要体现在: 

生的xML格式的文件,将报表样式描述文件和报表数据描述文件解 

1)可维护性差。当开发人员利用某种报表开发工具完成了报表的 

析为可以显示报表内容的HTML标签并传送给客户端浏览器。 

开发,然后投入使用,而用户在使用过程中,可能会提出一些意见.要 

求对已经设计好的报表进行一些修改。要达到用户的要求.开发人员 

2系统的设计与实现 

会修改每一个客户端的源代码,如果客户端的数量比较大.则会对软 

2.1报表的物理结构 

件的维护造成很大的困难,同时软件的质量也会降低,加大了软件的 

报表在形式上可分解为标题区、表头区、表体区和表尾区。图2给 

维护成本。 

出了报表的基本形式。而市场上一般的报表生成工具采取逐个定义的 

2)可扩展性弱。当客户使用软件一段时间以后.常常需要对软件 

方法,使得报表定义工作烦琐而不直观。仔细分析各类报表后不难发 

进报行表生成系统的某些功能的扩展,增加以前未曾考虑到的功能。 

现:所谓标题区、表头区、表体区和表尾区其实都是报表格式的一部 

为了满足客户的需求。开发人员会开发新的功能模块,然后集成到先 

分。实际上报表可分为两部分:报表格式和数据项描述。报表格式是指 

前的系统中,而在集成的过程中,会对每一个客户端进行扩展、测试. 

报表的框架,对于任意一张报表来说,这部分基本是固定不变的。它一 

与前面一样,当客户端的数量较大时,扩展将会非常困难,同时也会降 

般主要描述的是制表单位,制表时间,制表人等信息。即表头,表尾。数 

低软件质量,增加软件的开发成本。 

据项描述是指报表的数据部分,报表的数据是随着生成报表时问的变 

因此,本文在借鉴前人经验的基础上,通过分析web报表的物理 

化而变化的.这是报表的可变部分,即表体。报表的生成实际上就是根 

和逻辑结构,根据报表的处理过程,设计出一个基于XML的web报表 

据数据项描述对表体进行查询、计算并将结果写入空表结构中相对应 

系统。该系统能够根据用户的需求,完成组报表和交叉报表的生成.并 

的位置 

能够生成同一报表的多种样式。 

1 系统的建模 

开发一个功能强大、适应性好的报表 

多样式文档在线生成系统,必然需要弹性 

大、灵活性高的开发模型。因此,我们提出 

基于Java和XML的PDF等多格式文档在 

线生成技术,为各种面向打印的应用.如 

图2报表的基本形式 

报表、单票据、手册等提供了新思路。我们用Java来查询数据库.处理 

2.2报表的逻辑表示 

用户的输入,并在此基础上生成原始的XML文档;然后通过JDOM将 

报表定制包含两方面的内容,一是定义报表的格式,包括界面的 

该XML文档加上显示层信息,生成另外一个新的XML文档。最后利 

绘制以及字体、位置、表格线类型等信息,这主要是前端工作。而另外 

用“PDF生成器”将这个新的xML文档转化为相应格式的PDF文档。 

部分较难实施的是实现对报表逻辑的定制。在报表设计里,后台数 

对于最初生成的XML文档,可以被二度利用,因为该文档包含了所有 

据逻辑是该系统的灵魂。要实现报表逻辑的定制。主要是对后台的数 

有用的信息,可以非常容易的被其它应用程序处理。如果我们想改变 

据管理,如数据表的建立,其中包含各种字段的建立以及表与表之间 

信息在PDF文档显示的样式,可以非常容易的实现。只需要专门人员 

的关系.因此必然要了解报表关系,必然要熟悉这个报表中每个单元 

修改相应的XSL样式单文件即可,不需对其它环节做任何修改,具有 

数据的产生过程,如何实现报表的关键是要把握报表的三个关系,一 

非常好的灵活性 

对一,一对多,多对一,并根据其关系在后台实现对数据进行管理。并 

按照一定的数据结构来实施,使它成为动态的、可编辑的部分。采用数 

据表达式作为描述报表逻辑的手段,对每个报表单元来说,表达式表 

述其数据运算产生的过程,用数据集函数获得需要的数据,简而言之, 

通过拓展表达式中函数的概念,建立一个数据集函数,表达式运算的 

部分参与运算,从而实现报表业务逻辑。例 ̄tl:sum(age)/count(age),简单 

描述了统计平均年龄的逻辑,只要能够得到数据库中年龄的总和与要 

统计年龄的人数.就可得到平均年龄。通过此技术的应用,才能真正的 

图1系统模型 

实现报表生成的自动化。 

2.3报表的处理过程 

2-3.1在后台定义并创建各种表单和数据表,定义主键,找出其中内 

图1展示了报表的系统模型。数据库中有一张数据表专门负责存 在的联系,以便日后引用。这是报表系统的核心部分,其关键是确立表 

储业务中需要用到报表样式的描述文件。系统主要结构如下: 

与表之间的关系。 

1.1 Web服务器中的Serverlet是一个有状态会话Bean,它的 

2.3-2在前台绘制直线,这是报表系统的难点和重点。在绘制时我们 

 

getReprotStyle 0方法用于从数据库中读出所需要的报表样式描述文 

只需绘制直线,并由直线来确定页面,方向和页边距。

科技信息 O[3论坛O SCIENCE&TECHNOLOGYINFORMATION 2010年第3期 

2.3.3具体绘制直线。因为在此报表系统里主要是通过直线来确定点 

4结束语 

的位置.因此通过直线的方法来确定表头,表体和表尾。 

本文对报表生成系统进行了详细的分析,定义了报表的物理结构 

2.3.4单元格的定义及捕捉区域。报表系统的核心部分在于将后台数 

和逻辑表示。设计报表的总体架构,开发了一个实际的系统以解决报 

据库的内容与前端界面形成联系,从而把数据表的数据反应到前端的 

表样式的设计、报表数据的交互、报表的展示问题。 

绘制界面上。而其中最主要的工作就是捕捉单元格,也就是能够使岛 

随着网络技术的快速发展,企业对报表系统的样式、可扩展性、可 

行绘制单元格区域.并且能把后台数据自动反应到前台。 

维护性、安全性等各项要求也会越来越高。目前对浏览器端数据的操 

作手段还比较单一,通常采用的手段只有通过Javascript,ActiveX, 

Applet等方式来处理浏览器端的数据,而本系统采用JDOM来处理客 

户端的XML数据。目前JDOM对数据的处理能力还有限,但剩用 

JDOM来处理客户端的数据一定会成为主流技术,在以后的研究过程 

图3报表的处理过程 

2.4报表的总体架构 

中需密切关注JDOM技术的不断完善及改进。在本系统中。对XML文 

档数据的安全性及用户在线随意动态生成不同用途的报表,由于时间 

本系统的总体设计思路是: 

2.4.1首先是编写一个报表数据接口引擎,用来录入报表数据,这里 

有限而未具体实现,在以后的进一步研究中会列入重点内容进行研 

 

用到的是SQL数据库。然后使用JDBC技术与JDOM技术来动态生成 

究。

组报表或交叉报表数据。 

【参考文献】 

2.4.2接着采用Java编程技术实现报表的生成,将其保存类的形式, 

c 1】常军.关于企业报表管理的探讨硼.管理现代化,2002,1 1(03). 

再利用JSP的UseBean技术编程,实现生成在线报表的多种样式。与 

此同时.我们用Web设计一个报表样式设计页面,通过用户的不同喜 

学.2007,11. 

好来设计报表样式,在线浏览数据库数据,新添了三种图形统计报表, 

[2j史东林.实时监测平台数据服务子系统的设计与实现fMj.北京:北京化工大 

[3]唐远涛.Web报表开发的研究与应用【M】.成都:成都理工大学,2006,3. 

饼图,柱状图,折线图。所有的一切都是在Tomcat服务器下,通过浏览 

[4]许亚武.利用XML实现报表形式定义印.广州大学学报(自然科学舨),2006,5 

器把报表展现出来。 

3关键技术 

3。1 本文报表的描述采用XML 

(5). 。 

[5]高永宾,杨润兵,靳荣.一个可定制的]nternet报表系统的设计与实现fJ].计算 

机与现代化2006,l】(1 2). 

(6】万琳,陈传波.智能报表生成系统模型的研究与实现阴.计算机应用研究, 

2000,5(1 1). 

[7]林金贵.VB中利用Cell组件实现打印和预览[J】.电脑知识与技术,2004,12 

(29). 

[8]王海瑞,邹继良_基于程序自动化技术的通用报表的研究与实现硼.微计算机 

格式,遵循了以下原则: 

3.1.1报表框架信息:XML描述 

文件要能够实现对任意结构的报 

表描述.且允许用户对已制作的 

报表任意修改,同时能根据用户 

的需求方便地控制报表的输出格 

式。 

3.1.2报表数据信息:根据xML 

信息,2006,22(12). 

[9]刘萌萌.基于B/S、C/S的混合模式在网络数据库中的应用【J}成都信息工程学 

院学报,2006.21(2). 

[10]肖敏,熊前兴,赵玉伟.基于C/S与B/S混合模式的应用研究【J1.武汉理工大学 

描述的数据信息.系统能实现报 

表数据的生成与分析功能。用户 

根据实际业务情况.输入已知数 

据,描述或定义未知数据的产生 

囤4报表的总体架构 

学报,2006,28(3). 

[11]刁:泽源,刘美茹,雷晓川.通用动态SOL查询串的生成『j1.计算机应用,2001,21 

(2). 

『12]彭哲,马龙华,陈胜明.基于ActiveX技术的组态软件通用报表控件的实现翻 

北工自动化及仪表,2006,33(5). 

[13]王霞敏.ActiveX技术的研究与应用田.微型电脑应用,2003,19(2). 

方法,系统能自动计算产生数据。并能实现数据综合查询和统计功能。 

3.1.3报表的审核信息:这部分信息用来确保报表数据的准确性。 

3.2报表的XML描述主要涉及到: 

3.2.1 单元格信息:描述本条数据信息对应于报表中的单元格位置。 

3.2.2表达式信息:描述单元格对应的求值表达式。 

3.2.3表达式元素信息:决定元素从哪里取值,怎样取值。 

[14]戴国强,胡家宝,林喜源.ActiveX组件在工业监控中应用 .中国水运,2007 

(】). 

[15]程娅,金星.实验室信息管理系统中统计报表模块的设计【J】.仪器管理, 

2007,1 l(2). 

[16 3梁鹏,黄晓鸣.通用报表生成器的设计与实现[J1.科学技术与工程,2006,6(23). 

3.2.4字段信息:决定报表取得的数据如何存储。 

采用Java技术中JDOM技术来生成XML数据文档。报表数据的 

生成是利用报表样式生成系统生成的。 

[责任编辑:张慧] 

(上接第168页) 

1 l l …

… 

l 

活运用,找到一种最简便的方法,使复杂问题简单化,有时几种方法结 

合着用效果更好。 

口I n2 

2 2 2 2 

… 

范德蒙行列式D = 

d2 

Ⅱ ) 

2行列式的简单应用 

2.1应用行列式解线性方程组(主要应用克莱姆法则,这里要注意应 

用的条件) 

2.2雅可比行列式在隐函数组中的应用 

2.3非奇异矩阵的判别 

nl …Ⅱn 

1.9综合法 

计算行列式的方法很多,也比较灵活,总的原则是:充分利用所求 

行列式的特点,运用行列式性质及上述常用的方法.有时综合运用以 

上方法可以更简便的求出行列式的值;有时也可用多种方法求出行列 

2.4计算矩阵的秩。巷行列式的值 

【参考文献】 

式的值。 

[1]姜庆华,海进科.线性代数【M】.北京:高等教育出版社,2009. 

除此之外,还有乘积法、对称法、辅助法定义法、拉普拉斯展开法 

[2]全国高等教育自学考试指定教材:线性代数【M】-武汉大学出版桂,2006. 

等,行列式的计算方法之间不是相互独立,而是相互联系的,,一个行 

列式可能有几种解法.这就要求我们在掌握了行列式的解法之后.灵 

[责任编辑:田方义] 

87 


本文标签: 报表 数据 系统 生成 实现