本文主要对市场上一系列主流的Web报表进行综合考察和评定,以下是对Web报表工具评定的几个方面:
- 批量打印
- 性能优化
- 模板与数据能否分离
- 设计模式易调整
- 接口方式
- 输出方式
一、批量打印
虽然web报表可以在电脑显示屏上展示,但许多时候更需要纸张的直观展示分析,这就考验了web报表工具的打印功能,web报表离不开打印,打印就少不了要批量。因此本文旨在多参打印,分页打印,缩放打印等方面分析各报表工具的批量打印功能。
i-report
- 有批量报表打印功能,但一般需要通过专门的编程实现批量打印;
- 一些较简单的分片式打印能通过主子表实现;
- 不能自动适应纸张大小;
- 不支持分栏打印;
- 不支持一纸多页打印;
- 不支持末页补足空行;
- 不支持缩放;
- 支持纵向分页,不支持横向分页。
finereport
- 本身不能直接支持批量打印,需要对每张报表分别点开进行打印;
- 客户端不能保存打印设置;
- 不能自动适应纸张大小;
- 不支持上表头、左表头每页重复;
- 不支持缩放;
- 不支持强制分页;
- 支持横/纵向分页打印; 支持分栏打印。
水晶报表
- 有批量报表打印功能。对于一次批量打印出多张不同报表,同一张报表采用不同参数多次打印等方式,均需经过单独编程才能实现;
- 一些较简单的分片式打印仅支持纵向分页,不支持横向分页;
- 不支持分栏打印;
- 不支持一纸多页打印;
- 不支持末页不足空行;
- 支持缩放;
- 支持精确打印。
二、性能优化
ireport
- 本身并没有很好的并发控制机制;
- 当并发访问量较大时,经常容易出错;
- 报表模板要经过多次编译、解析然后在客户端显示报表,影响性能。
finereport
- 并发能力较强,二万单元格表在512M内存可并发100个以上,但是响应时间非常长;
- 不支持并发控制,这一点非常严重;
- 没有报表缓存;不支持数据缓存索引;
- 表达式循环引用死机,没有提示信息;
- 导出excel记录数超过65525列数超过255列出错。
水晶报表
- 需要部署独立的一套负载均衡体系;
- 需要独立进行数据库连接,可能成为性能瓶颈;
- 集群有严重的问题,其中一台服务器倒了,会导致整个集群环境瘫痪,或者集群环境中第三方的产品倒了,会波及到bo的集群,导致整个bo产品集群的瘫痪;
- 交互式处理的能力很差,所以只能限制每颗cpu的用户数。