灰色天空
发贴: 17
积分: 1
|
于 2008-10-27 14:38
在f inereport软件论坛上找到的帖子,写的很客观,希望能给大家点帮助~
试用f inereport报表的个人感受,兼建议
从2008年起一直在试着用FR,并且用FR6.1做了一个小项目(免费版本,反正客户也不太计较“请购买。。”字样),在实际用下来,有几点体会。
优点: (1)f inereport对中式报表的支持无疑是相当出色的,至少也要打个90分。 (2)提供的DIV方式调用,也很容易和现成的系统结合在一起(我就是将f inereport和spring、struts2结合在一起用,很方便)。 (3)PDF打印,Excel导出,能满足一般性客户(对套打要求不高)的要求。
缺点: (1)性能。我给客户提供的那个小项目里面,数据量过2千条记录就感觉很明显。 可能跟FR基于cell进行处理有关系,在性能上与JasperReport这类西式报表引擎有相当大的差距。
(2)对浏览器的兼容性还是有一些问题。 应该说,f inereport在FireFox下面反应是非常好的,但对IE的支持就不是太好了。 我使用DIV方式布局,按f inereport文档上的描述,使用op=resource方式提供“上一页”、“下一页”的链接,在很多时候点击不起作用,仍然是第一页。即使是重启webapp也是如此。为此,专门新装了windows xp操作系统(ibm x60自带,非蕃茄之类的版本),问题仍旧。
(3)不够灵活。虽然FR提供了自定义的DataSource,可以从自定义的Java Bean里面提供数据,但仍然不够灵活,非得从它的DataSource基类继承,也不方便和sprint/ibatis结合。
(4)公式的导出。 在导出excel时,f inereport虽然提供了选择,让你可以将公式导出到excel中,但正是这一块有问题。假定你定义某个cell为公式“X1+Y1”,当这一行由上到下扩展,在导出的excel中,永远是"X1+X2“,而不是我们希望的"X1+Y1"、"X2+Y2"。。。"Xn+Yn"
个人意见: 报表引擎的选择,最好还是要根据项目对报表的实际要求、资金等诸多方面来考虑,如
1、报表不够复杂,传统的西式报表引擎能满足要求的,建议用JasperReport这类引擎,特别是用JasperReport提供的jasperreports-flash-3.0.0.swf来实现。
2、预算不是太紧张,有大量的中式报表,或是excel导出要求,并且客户对excel导出格式有要求,另外,数据量也不是太大,建议用f inereport报表。 如果客户对打印有要求,特别是会用于套打和快速打印,可以利用f inereport提供的api开发applet,或者是让FR帮忙提供swf、applet。
3、预算紧张,数据量大。。诸如此类的情况,还是先”阿弥陀佛“,再慢慢找吧。
BTW:f inereport的服务非常好,象我这种还没掏钱的“伪用户”,都还是能得到较好的服务的
灰色天空 edited on 2008-12-15 16:44
|