做报表很长时间了,最近发现一个比较奇怪的现象:各家工具使出各种手段做广告、吸引注意力,但是受到程序员热烈追捧的反倒一直是 Jaspereport + ireport 这种免费、开源的 JAVA 工具,几个开了专版讨论 JAVA 报表的论坛里面都是热火朝天,发问者众。
Jaspereport + ireport 是纯 JAVA 的报表工具,相信无论出于何种目的的使用者,看上这两个产品无非是因为:免费(这是最重要的)、专业的报表工具、纯 JAVA 。看来大部分人都意识到应该用专业的工具而不是堆代码来完成报表了,这也算是个进步。
首先,先看免费的 Jasperreport + ireport 能给我们带来什么?答案显而易见:拥有了一个有一定可用性的报表工具;开源的代码能够拥有灵活的可定制能力和完全的控制,当然最重要的还是成本低。
Jspereport + ireport 的制表能力实在一般,老外的东西还是水土不服,从本质上就不符合咱的复杂报表需求。我之前也写过一篇测评,有需要的可以看下。
在论坛里,像“请教高手某某问题如何解决”这类的帖子比比皆是,发问者往往也是在线等答复。问题如果有解也就罢了,无非是有答案的人什么时候给答案,运气好的在线能等到,运气不好的那就等着吧。如果碰到的正好是个无解的问题呢?或许会有热心观众参与讨论,但最后解决办法还得自己想。掰着指头算算,花在这问题上的时间、人工成本,够不够买一个收费的工具?
以前听说 Jaspereport + ireport 的所有帮助文档是收费的,文档倒是相当细致,需要花大量的时间阅读学习。这才明白:世上没有免费的午餐,所谓开源也不可能真的有人那么无聊为人民服务,说白了还是要挣钱的,否则产品的后续研发怎么办?
至少在你有问题的时候能找到技术支持来帮你吧?!
至少还能理直气壮地跟销售说“我买了你产品,你就得帮我解决问题”吧?!
至少还能在某种程度上偷工减料说“这表我整不出来,你过来和我们一起做吧”?!
至少还能拉着人跟你一起痛苦…
从社会的分工的趋势来看,工作一定是越做越专业,分工一定是越来越细致。就报表行业看,最理想的情况应该是:专业报表厂商应该是开发商的一个外围研发中心,每家开发商出一些钱(在项目中使用报表工具)给报表厂商,而厂商则专注于为各家合作伙伴解决报表问题。
正常的商用报表工具一般都是上万的,1w-20几w不等,按功能收费,像FineReport这种还有专门的技术支持、产品培训、城市课堂等。所以,碰上选择报表工具的时候,一定不要怕跟老板倾诉,一定要给他强调报表制作其实是很专业的的活,花钱买一个专业工具在很多场景下是比用开源工具划算的。
现在越来越多的项目要用报表工具,但国内市场上报表工具鱼龙混杂,很难只从一个方面就分出高低优劣,必须多方面比较。具体可参考我之前写的文章,给了我总结的10个参考标准点。
报表工具能花钱解决就不要自己瞎捣鼓。公司要是没给你预算,你就老老实实用Excel、免费的开源。公司要是给了你预算,那你就去选商用的,牌子和市场名气大的,有稳定售后服务的,不要怕贵,软件这东西把一个用透了胜过买一堆软件,更不要贪小便宜去找第三方或开源的做。