不知道大家注意到没有,国外的很多报表工具,象水晶报表(
Crystal Reprot
)、
Style Report
、
Jasper Report
、
IRport
、
Fast Report
、
QuickReport
(
Dephi
内嵌报表控件)等等,这些产品有一个共同点:××
Report
。
Report
在字典里的解释大致是报告的意思。从产品的名称看,国外的报表工具似乎更象在解决报告的问题。
国外的报表样式非常规整,没有格线,表头非常简单,没有斜线表头、没有分层分组。一张报表提供的信息有限,如果要看所有信息,就只能几张表对照着看了。另外,国外的报表似乎没有填的需求(也许是业务规范或者应用水平高的缘故?)建议大家找几个报表工具提供的样例来对比看看。
基于这种报表需求,几乎所有的国外报表工具(除
F1
外)都采用如下方式:
(
1
)数学模型都是基于近三十年前的
SQL/OLAP
理论设计的,虽不断地有所改良,但根本处理方案并没有本质的变化。
(
2
)报表工具的主编辑界面呈条带状,以模拟
SQL
中的
Select
和
Group
运算;在行方向(横向)上的能力很强,可以添加小计、合计等各种运算。
(
3
)拖拽式制表,不懂业务的人做起来也非常方便。
(
4
)采用独立服务器,有独立的权限控制机制,无法享受应用服务器的集群等能力。
附:写这部分的时候,参阅了很多资料,感觉思路还是不太清晰,希望大家也能帮着总结一下。参考了如下资料:
http://support.businessobjects.com/communityCS/TechnicalPapers/cr_sample_rpts_desc.pdf
。
http://www.quiee.com.cn
。
做报表很长时间了,最近发现一个比较奇怪的现象:各家工具使出各种手段做广告、吸引注意力,但是受到程序员热烈追捧的反倒是
Jsper report
+
ireport
这样的免费、开源的
JAVA
工具,几个开了专版讨论
JAVA
报表的论坛里面都是热火朝天,发问者众。
这是为什么?
Jsper report
+
ireport
是纯
JAVA
的报表工具,相信无论出于何种目的的使用者,看上这两个产品的原因无非是因为:免费(这是最重要的)、专业的报表工具、纯
JAVA
的。看来大部分人都意识到应该用专业的工具而不是堆代码来完成报表了,这是个进步。纯
JAVA
的报表现在也有很多了,快逸报表、
Fine report
、润乾、
Style report
等等,很多。看来决定性因素只有应该:免费。
报表工具,到底免费与收费孰优孰劣?
首先,免费的
Jsper report
+
ireport
能给我们带来什么?答案显而易见:拥有了一个有一定可用性的报表工具;开源的代码能够拥有灵活的可定制能力和完全的控制;最重要的是成本低。
事实果真是这样吗?
Jsper report
+
ireport
的制表能力实在一般,老外的东西,本质上就不符合咱的需求。被水晶这种产品培养出的报表习惯,报表似乎就该这么做,做不出来的报表似乎就应该写程序,再要不请客户修改需求吧。改不了?写代码。所以用工具的结果还是吭哧吭哧写代码。
在论坛里,象“请教高手某某问题如何解决”这类的帖子比比皆是,发问者往往也是在线等答复。问题如果有解也就罢了,无非是有答案的人什么时候给答案,运气好的在线能等到,运气不好的那就等着吧。如果碰到的正好是个没解的问题呢?或许会有热心观众参与讨论,解决办法还得自己想。掰着指头算算,花在这问题上的时间、人工成本,够不够买一个收费的工具?
最近听说
Jsper report
+
ireport
的所有帮助文档是收费的,文档倒是相当细致,需要花大量的时间阅读。这才明白:所谓开源不可能真的有人那么无聊为人民服务,说白了还是要挣钱的,否则产品的后续研发怎么办?呵呵,听说文档都是英文的。
收费的报表工具如何呢?
至少在你有问题的时候能找个人支持你吧?!
至少还能理直气壮地说“我买了你产品,你就得帮我解决问题”吧?!
至少还能在某种程度上偷工减料说“这表我整不出来,你过来和我们一起做吧”?!
至少还能拉着人跟你一起痛苦。
从社会的分工的趋势来看,工作一定是越做越专业,分工一定是越来越细致。就报表行业看,最理想的情况应该是:专业报表厂商应该是开发商的一个外围研发中心,每家开发商出一些钱(在项目中使用报表工具)给报表厂商,而厂商则专注于为各家合作伙伴解决报表问题。
那买一个报表工具的成本要多少?
至少我见过
3000
元的报表工具,纯
JAVA
的,一定比
Jsper report
+
ireport
要好用,还有专门的支持和培训,运气好的时候还能赶上促销赠送,有兴趣的可以到
www.quiee.com.cn
看看。
所以,再碰上选择报表工具的时候,一定不要怕跟老板倾诉:报表制作其实是很专业的的活,花钱买一个工具比用开源工具划算,这跟你的开发能力无关,你要做好的是你的业务系统。