在大数据时代,业务系统的数据信息必须通过报表来呈现,报表成为了数据处理的通用载体。而随着 web 浏览器技术的发展,传统的 C / S 报表模式逐渐被 B / S 取代,基于 web 的报表开发技术便被企业广泛应用,应运而生的 web 报表工具随之迅速普及。
然而,因为浏览器本身的局限性,很多 web 报表工具往往难以开发复杂的网格报表,面对中国式报表时非常繁琐和低效,大大占用开发人员的精力。因此对于报表开发者来说,一个灵活易用且功能强大的 WEB 报表工具是绝对必不可少的。
如今市面上 web 报表工具这么多,究竟哪一款才是最好用的呢?
目前来说,国外比较优秀的 web 报表工具是 birt 报表、SAP 等,但是基本无法应对中国式复杂报表,不建议使用;国内以 FineReport 为代表,其市场占有率也在国内报表软件领域稳居第一,是中国式 web 报表工具的不二之选,本文将对 FineReport 进行详细地介绍。
FineReport 的设计思路
web 报表工具 FineReport 采用了 excel 表格与数据列结合的设计理念,将数据列与单元格进行绑定和处理,报表开发者只要掌握 Excel 的基础技能,就能够实现各种复杂的中国式报表,其主要的制作流程如下:
1、配制 web 报表数据源
在进行报表设计之前,web 报表工具 FineReport 的设计器需要与数据库建立连接,通过建立数据连接的方法来定义数据来源,报表数据也会随着数据库的更新而更新。
2、新建 web 报表模板
连接好数据来源之后,就可以新建 web 报表模板进行报表设计了,针对中国式复杂报表的特殊性 FineReport 还提供了普通报表模板、聚合报表模板、决策报表模板三种报表模板,分别适用于不同情况下的需求设计。
- 普通模板设计 :是 FineReport 最常用多的设计模式,依靠着单元格的扩展与父子格的关系来实现模板效果,可进行参数查询,填报报表,图表设计等等;
- 聚合报表设计 :一般适用于一张模板中显示多个独立模块的报表;
- 决策报表设计 :一般适用于控件的展示,很好的弥补了普通报表分页预览不能展示控件的问题,同时决策报表可以进行自由拖拽设计。
3、添加模板数据集
web 报表工具 FineReport 中数据集的作用是将数据从数据库中取出来,作为本次报表开发的数据来源,添加到报表模板中。
4、模板设计
数据准备完成之后,就是进行模板的设计了,模板设计是 FineReport 学习过程中的重中之重,我们将模板设计分为报表设计、参数设计、图表设计和填报设计四个部分,这四个部分是 FineReport 模板的几大使用方式,报表设计是纯粹的数据展示,参数设计是动态查询数据,图表设计是使用图表来展示数据,填报设计是录入数据,将数据写入数据库中,根据实际情况确定使用哪一种使用方式,或者联合使用哪几种使用方式;
5、模板预览
模板设计完成之后,保存模板至工程目录下面,即可预览,在 Web 端查看模板效果。
FineReport 的 web 功能
1、web 报表在线查看与展现
FineReport 采用的是主流的 B / S 架构和纯 HTML 前端展示,可以保证表格式报表和图表类报表,都能够在浏览器端进行纯 HTML 的展示,基于浏览器本身进行插件使用。当然除了 IE 浏览器,FineReport 还支持大多数主流 WEB 浏览器,如 Firefox,Chrome 等。
2、web 报表在线查询
FineReport 采用基于 web 的通用查询,在线查询功能十分方便和轻松。在参数设计界面 FineReport 可以支持任意布局和编辑器,报表开发人员可以通过添加指标的方式设置条件,再将这些条件联接起来(AND/OR)形成完整的查询条件,直接影响报表用于取出数据的 SQL 语句。
3、web 报表在线管理
Web 报表工具 FineReport 提供了纯 B / S 的管理平台,大大简化了管理阶层对于服务器的配置过程。用户能够在服务器端灵活方便地定义诸如数据连接、系统管理、定时调度、打印(服务器)、邮件等功能。
FineReport 的其他功能特点
1、类 excel 的 java 报表设计器
首先中国报表更多是表的样式,所有用 excel 这种风格报表设计更加方便。然后 FineReport 不像其他报表只是从单元格命名,编辑区格子等形似 excel。但 FineReport 汲取 excel 简单易用核心精神,成为编辑效率最高报表工具。
2、报表自由分栏:
Web 报表工具 FineReport 的自由分栏可以允许用户自定义分栏的列数和行数,并且允许只将报表的一部分内容分栏显示,使得使用更加人性化。
3、支持多数据源报表
多数据源是指一张报表的数据来自多个物理数据表(或类似数据体,如视图或其他虚拟表)。反之,Web 报表工具 FineReport 的多数据源填报意为不仅将数据回填到一个数据库的多张数据表中,甚至回填至多个数据库的多张数据表中。web 报表工具 FineReport,不但能从同一个数据库取数展现在一张报表,而且能从不同数据库中取数展现在一张报表上。
4、自定义规则分组
一般纯 java 报表工具和非纯 java 报表工具如果遇到需要把数据中存储年龄按照:0-15、15-40、40-100 三个范围分组就无能为力,需要对数据预处理。然后穿给报表,FineReport 就需要使用设计器就能搞定。
5、纯 java 报表设计器无缝导出导入 excel
水晶报表,jasper 报表虽然能导出 excel,但是不能再编辑利用,而 FineReport 完全可以解决客户需要对导出 Excel 再编辑问题。导入 excel 后,可以直接利用已经编辑好报表样式,然后绑定数据,就能完成报表制作。
6、Flash 打印方案
随着 Web 协议框架和技术的完善,有些打印方式渐渐被淘汰,部分浏览器对原本几种打印方式的支持也越来越差。所以,为了提升用户的体验,简化打印的场景,web 报表工具 Finereport 在对打印功能进行了升级,将各种打印方式整合到一起,形成一个统一的打印入口,让客户的选择变得更加简单清晰。
- 易用:易于设置,可预先进行页面设置传递至打印机,并可以保存用户打印习惯,无需复杂设置,一键打印,同时对于市面上几乎所有类型打印机都能很好的支持。
- 功能丰富:提供套打、批量打印、打印内容控制、打印偏移、静默打印等丰富的功能
- 性能强大:相同环境下,零客户端打印耗时不到同类竞品的一半,本地软件打印耗时不到同类竞品的 1/3
总结
web 报表工具是高效率开发和运行报表的关键,相信如今已经没有人会用手工编写代码的方法来制作报表,而所谓工欲善其事必先利其器,选择一个好的 web 报表开发工具,才能使你的报表开发工作少费精力。
FineReport 作为一款优秀的企业级 web 报表,所实现的功能还是基本完备的,同时设计思路不是非常复杂,非常便于报表开发人员的使用,从此再也不会因为需求繁多的中国式复杂报表而加班了!