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
版权声明:本文标题:基于XML的web报表的设计与实现 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.roclinux.cn/b/1713560765a640795.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论