- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于XML通用数据报表系统的设计与实现
基于XML通用数据报表系统的设计与实现
一 关于通用数据报表
§1.1 什么是报表
报表是办公自动化及管理信息系统中信息处理和交互的主要手段之一。报表是人们归纳性地观察世界的最常用的一种手段。报表资源其实是办公资源重要组成部分,也是各级领导经营决策的有力保障。企业间信息交互频度的增加和人们对信息的总体把握程度的提高,要求报表能够实现多层次多方位的数据采集、汇总、挖掘、抽取以及多种格式的输出,办公自动化程度的深人也要求报表的设计要便于操作、维护简便。
§1.2 如何用XML描述数据报表
1.2.1 XML描述通用报表的基本思想
描述通用报表,需要考虑以下几个方面:
1) 报表框架信息。XML描述文件要能够实现对任意结构的报表描述,且对已制作的报表允许用户任意修改,同时能根据用户的需求方便地控制报表的输出格式。
2) 报表数据信息。根据XML描述的数据信息,系统能实现报表数据的生成与分析功能。用户根据实际业务情况,输入已知数据、描述或定义未知数据的产生方法,系统据此自动计算产生数据,并能实现数据的综合查询和统计功能。
3) 报表的审核信息。这部分的信息用来确保报表数据的准确度。
报表的框架信息是描述报表外观结构的。报表在表现形式上千差万别,尤其是中国式的报表,包含了复杂的表头和特殊的表格线、小计、合计等格式,这种不规则的信息很难用普通的数据结构表现出来。但是复杂的报表都可以看成一些简单表的拼接,比如一个复杂的报表可以分解成标题、表头、表体、表尾四个部分,同时简单表又都可以由单元格堆砌而成。利用单元格堆砌出来的报表具有编辑的单元性,因此可以对每个单元格独立地定义其单元格大小、显示边界、边界特性、单元格背景色、前景色、字体特性等属性,从而可以描述出理想的报表框架信息,其适应性更广。本文对报表框架信息的描述就是采用这种单元格堆砌的思想。
2.2 XML描述通用报表的几个要点
1)单元格的分组描述,通常,不同报表的表头、表尾在布局上大同小异,但表体相差较大。在单元格堆砌时,将单元格按表头、表体、表尾分组描述不仅结构清楚、降低描述的复杂度,而且还能方便地设计表头、表尾的描述模板,减少报表设计人员的工作量。
2) 避免单元格的嵌套描述,这样能减弱XML描述文档结构的复杂度,有利于应用程序对XML文件的修改和解析。
3) 明确标志单元格的相对位置,单元格的相对位置在单元格堆砌报表描述中非常关键,我们用“组——行——列”的层次包含关系描述报表框架信息,用单元格在该单元格组中的相对行号和列号标志单元格的相对位置。
4) 定义单元格宽度和高度的基准。我们把任何单元格组的第0行、第0列定义为没有任何扩展的(该行单元格数目在全部行中最多,列也是一样)冗余单元格,这些单元格用来定义宽度和高度(第0行高度为0,第0列宽度为0),其它单元格的高度或宽度默认以这些单元格为基准,是这些单元格高度或宽度的组合。以一个基准来定义单元格的高度和宽度,使得定义准确、描述简单,能使得单元格的显示效果严格对齐。
5) 设定默认值或者冗余项,以减少XML文件的大小。单元格堆砌中,由于单元格有很多共性,比如表头表尾数据基本上都是字符串,表体的数据大多都是数字类型、右对齐、字体属性基本相同等,如果每个单元格都描述这些属性,Xb比文件就显得冗余。我们可以在单元格组中定义一些默认值来解择单元格中不定义但又必要的属性。同时可以添加冗余项以减小描述文件的大小,如上述定义单元格宽度和高度的基准的思想。报表的数据信息不仅包括要录入报表的原始数据、报表的固定参数,还包括从别的报表传递进来的数据以及通过表内或表间相关数据的计算而得到的数据。有些数据提供的是报表的基本信息或者是供用户填报时的参考信息,这些数据不需要入库,而需要入库的数据不仅是那些填报的原始数据或者是计算出来的数据,甚至于从别的报表读取的数据也需要入库。因而对这些数据进行合理的分类对报表的描述是非常必要的。这些数据都涉及两个属性:数据来源和需要入库情况。需要入库情况只分为入库和不入库两种;而数据来源可以有多种分法,比如是静态的数据(直接填报而不需要进一步处理的数据)还是表达式运算的数据,是直接录入的数据还是从别的数据源查询的数据等。本文对数据来源以需要手工填报还是系统自动填报来分类,从每种类别的数据抽象出一些共同的属性,这些属性的组合就可以涵盖报表需要处理的所有数据类别。
使用图例说明如下图1所示:
取值类型单元格信息
取值类型
单元格信息
单元格信息表达式信息
单元格信息
表达式信息
数据类型表达式元素信息
数据类型
表达式元素信息
值表达式
值表达式
手工录入自动录入
手工录入
自动录入
查询条件
查询条件
①
文档评论(0)