皕杰报表(BIOS Report)概述
皕杰报表(BIOS Report)系统由四个部分组成:报表设计器、报表引擎、报表服务器、报表客户端。用户在报表设计器中设计报表、开发报表应用。应用被打包、部署到报表服务器上后,由报表引擎来运行报表。报表服务器为报表引擎提供运行环境,同时提供报表的开发接口、以及监控管理。报表客户端是内嵌在浏览器中运行的Applet,提供在浏览器客户端的报表精确打印功能。BIOS Report报表系统的组成如下图所示:
报表引擎
报表引擎能够高效、稳定地解释报表模板。在报表引擎中包含以下功能模块:
- 数据访问:支持多种数据来源:JDBC数据源;XML文件数据源;文本文件及excel文件数据源;用户自定义javabean数据源。
- 数据运算:在报表字段集中,支持数据的分组、排序、过滤、汇总、连接等运算。
- 公式引擎:BIOS Report报表中内置了100多个函数,包括数据集引用、单元格函数、字符串函数、数学函数、日期函数等报表函数。
- 图表:提供但不限于仪表盘、双轴柱线图、饼图、柱图、线图等多种二维三维统计图;支持多Y轴的统计图表;支持统计图上自定义显示信息,支持统计图上鼠标挪上去显示自定义信息,统计图提供开发接口,支持通过二次开发和第三方产品,实现丰富的展现效果。
- 图片:报表中能够展现图片,特别地,该图片可以来自文件,也可以来自数据库。
- 条形码:支持但不限于EAN-13、EAN-8、Code 11、Code 93、Code 128、Code 39、MSI等多种条形码输出。
- 表格扩展:根据字段集中的数据对报表设计文件中表格式的表样进行展开,得到需要的报表样式。BIOS Report报表支持字段集的横向(列扩展)和纵向(行扩展)扩展、跟随扩展、及交叉表的展开。
- 格式输出:BIOS Report报表可以输出多种常用格式的报表,如HTML、Excel、PDF、XML、SVG等。
报表服务器
报表服务器基于java平台,为报表引擎的高效、稳定运行提供环境。
- 报表调用:提供了Taglib、servlet、Java API三种接口运行和展示报表。
- 缓存管理:支持报表的缓存,同一报表相同参数/变量访问时,可以直接从缓存中读取,不需要重复计算,提高报表的运行效率。
- 并发控制:不是简单的控制并发的个数,而是根据服务器内存中当前正在运算的报表总单元格数,灵活的控制调整并发数。
- 性能管理:支持分布式集群,并支持缓存区对象压缩技术,以减少缓存对内存的消耗;支持超大报表页数打印。
- 管理监控:对报表服务器和报表引擎的运行参数进行配置、对引擎的运行状态进行监控。
- 定时调度:对报表提供批量任务的后台定时自动执行机制。
报表设计器
BIOS Report报表设计器基于Eclipse的RCP平台,可以设计表样、数据、展现、打印等报表设计文件中各种元素的设计,是报表设计和报表应用开发、调试、部署的一体化平台。
- 报表支持同时使用多个数据源,支持中国式复杂报表的报表格式定义,支持多层行头多层列头的交叉报表、不平衡报表;支持中国式复杂报表的表格取数规则。
- 报表工具行列对称,横向纵向均支持多片无关联或者有关联的扩展,片间可以互相引用数据,对于中国式复杂报表,提供派生报表、报表合并、表内表间计算、业务关系审核、报表归档、历史报表数据重用等业务报表功能,支持数据处理分析报告的编辑、审核、下发、反馈等流转功能。
- 支持多片扩展与固定区域混和,不同区域格线对齐,且表头层次可以不同,提供“0”编程机制,对于需求的变化,不需要二次开发,或只需要简单定制开发,通过工具本身的定制功能实现,最大限度减少手工编程工作量,以提高系统开发效率。
- 支持动态格间运算,支持跨行跨组的运算,支持独立格的运算。
- 支持多级的分组与交叉报表,支持不规则分组,例如按段分组、枚举分组、重叠分组、归并分组、条件分组等
- 采用类excel的方式设计报表,支持excel报表样式批量导入,增删、复制/剪切/粘贴单元格或行列时,表达式引用的单元格会自动跟着变化。