我們公司已經(jīng)用
報(bào)表工具五年,從最早華表?yè)Q到潤(rùn)乾,然后換到
FineReport,見(jiàn)證了中國(guó)本土報(bào)表廠商的不斷創(chuàng)新。當(dāng)然華表這種完全通過(guò)寫(xiě)代碼制作模板的方式,已經(jīng)被歷史大潮給淘汰了。中國(guó)的報(bào)表市場(chǎng)目前主要只剩下FineReport和潤(rùn)乾在逐鹿。
公司第一次接觸FineReport,是我們一個(gè)做金融行業(yè)用戶(hù)指定我們使用,理由是他們信息中心技術(shù)人員已經(jīng)用FineReport快速構(gòu)建了一些簡(jiǎn)單系統(tǒng),為了后期維護(hù)方便,客戶(hù)讓我們也必須使用FineReport。從此我們開(kāi)始接觸FineReport。
一、FineReport文檔全面,簡(jiǎn)單易懂。 我們當(dāng)初一天就把FineReport集成到項(xiàng)目中,并且把我們典型四張報(bào)表都做出來(lái)。這樣我頭疼的軟件人員流動(dòng)的問(wèn)題就解決了,我們公司一個(gè)項(xiàng)目組設(shè)置一個(gè)報(bào)表工程師,如果這個(gè)人走了怎么辦?在使用潤(rùn)乾時(shí)期兩種解決方案:
a)找一個(gè)熟悉潤(rùn)乾報(bào)表的人,運(yùn)氣特好的話,兩天能到崗,運(yùn)氣差的話至少兩個(gè)星期,甚至一兩個(gè)月
b)要讓人重新開(kāi)始學(xué)潤(rùn)乾報(bào)表(主要是潤(rùn)乾的文檔比較亂,更要命是做別字等非常多,經(jīng)常誤導(dǎo)我們),這樣好幾個(gè)星期的時(shí)間就沒(méi)有了。 用FineReport之后,找一個(gè)實(shí)習(xí)生或者剛畢業(yè)的學(xué)生過(guò)來(lái),照著FineReport文檔里面的例子,基本馬上能開(kāi)始干活.
二、FineReport設(shè)計(jì)器是我見(jiàn)過(guò)最簡(jiǎn)單高效設(shè)計(jì)器。 a)用靈活界面屏蔽了潤(rùn)乾要寫(xiě)大量表達(dá)式。
一般的業(yè)務(wù)系統(tǒng)報(bào)表非常多,用潤(rùn)乾先要很熟練表單式,不熟練就要找地方參考,然后寫(xiě)表單式容易寫(xiě)錯(cuò),在這個(gè)上面浪費(fèi)好多時(shí)間,如果一百?gòu)垐?bào)表時(shí)間就相當(dāng)客觀,當(dāng)然可能后期還要修改。
b)FineReport設(shè)計(jì)器不光外觀像Excel,操作和菜單也是和excel一樣,潤(rùn)乾感覺(jué)只是界面類(lèi)excel,但沒(méi)有學(xué)習(xí)excel操作簡(jiǎn)便的精髓。比方,做填報(bào)報(bào)表時(shí)候,設(shè)置單元格值填到那個(gè)字段,基本是要人命(這個(gè)可能是我不會(huì)用),F(xiàn)ineReport的界面方便很多。具體界面上細(xì)節(jié)就不一一列舉。
設(shè)計(jì)器好用直接好處: 1)我們可以找一個(gè)懂行業(yè)業(yè)務(wù)的人員做
報(bào)表(可能是非計(jì)算機(jī)專(zhuān)業(yè),很多非計(jì)算機(jī)專(zhuān)業(yè)想搞軟件,這樣就給他們提供一個(gè)機(jī)會(huì)),這樣能更好的為我們上帝服務(wù)。
2)讓客戶(hù)做維護(hù)報(bào)表成為可能,這樣后期維護(hù),客戶(hù)做一些,我們做一些,再加上不用資深程序員維護(hù),我們后期的維護(hù)成本就低很多。
聽(tīng)說(shuō)FineReport公司內(nèi)部使用工具(做demo,做模板制作支持,寫(xiě)文檔)是學(xué)文科的小女生,他們滿(mǎn)意了,才能給客戶(hù)用。有點(diǎn)像制造工廠的成品檢驗(yàn)一樣。其實(shí)這個(gè)應(yīng)該是很多做軟件產(chǎn)品公司學(xué)習(xí)思路,東西不是做給開(kāi)發(fā)產(chǎn)品人用的。
三、打印方案靈活多樣。 flash打印,pdf打印,applet打印。滿(mǎn)足各種各樣打印需求,如果客戶(hù)想什么都不裝,而且能做到跨瀏覽器,就可以用flash打印,這個(gè)是我們的客戶(hù)選擇FineReport最主要的原因之一,唯一支持flash打印的報(bào)表工具。不用忍受下載好幾十M的sun java jre或者Adobe Reader了。也不用每次都跟客戶(hù)再打印上解釋半天,鬧得客戶(hù)不愉快。
四、性能強(qiáng)于潤(rùn)乾。 這個(gè)地方不知道為什么從潤(rùn)乾3.0開(kāi)始(好幾年了)一直沒(méi)有重視這個(gè)問(wèn)題,好多大項(xiàng)目做起來(lái)還真是提心吊膽。當(dāng)然FineReport也有很大提高空間,要做和國(guó)際廠商競(jìng)爭(zhēng),最高端客戶(hù),就要比拼性能。其6.5性能有很大提升。最要命的是,潤(rùn)乾的填報(bào)由于針對(duì)每個(gè)單元格寫(xiě)一個(gè)公式解析的javascript函數(shù),導(dǎo)致我?guī)浊€(gè)單元格的模板,html的內(nèi)容達(dá)到幾十M, 容易出IE腳本錯(cuò)誤,基本不能用了..
五、做系統(tǒng)集成時(shí)候FineReport比較方便。 首先配置web.xml文件,潤(rùn)乾一大堆,如果對(duì)這些不熟容易出錯(cuò),并且不知道怎么改,F(xiàn)ineReport就配置一個(gè)文件就可以了。其次做展現(xiàn)頁(yè)面和填報(bào)要整大量jsptab,能不能像FineReport那樣做,通過(guò)界面設(shè)置工具欄,設(shè)置參數(shù)查詢(xún)頁(yè)面。最后,潤(rùn)乾很多地方要做二次開(kāi)發(fā)滿(mǎn)足需求,能否像FineReport一樣,讓人少些程序,反正我只要能滿(mǎn)足我們報(bào)表需求就可以,并且用一個(gè)省力方式實(shí)現(xiàn)。要寫(xiě)程序地方多了,讓我們?cè)趯?xiě)代碼,和升級(jí)
報(bào)表工具時(shí)候非常頭痛,又要去整那些已經(jīng)不怎么熟悉的代碼。
六、FineReport經(jīng)常有一些核心開(kāi)發(fā)人員來(lái)我們交流,這樣以后產(chǎn)品可能更加滿(mǎn)足我們需求,他在現(xiàn)場(chǎng)體驗(yàn)到用戶(hù)是對(duì)的。 不會(huì)出現(xiàn)一般軟件公司現(xiàn)象,對(duì)外人員說(shuō)要先開(kāi)發(fā)A功能,開(kāi)發(fā)人員說(shuō)B功能更重要。我們選一個(gè)工具,要選一個(gè)生命力強(qiáng)報(bào)表工具
FineReport存在以下問(wèn)題: 一. 設(shè)計(jì)器上沒(méi)有辦法瀏覽bs的報(bào)表,每次都要在瀏覽器中輸入地址訪問(wèn)
二. 還有一些簡(jiǎn)單BI功能,比方dashboard,F(xiàn)ineReport目前沒(méi)有,他們說(shuō)在6.5中可能有。有些系統(tǒng)除了正常業(yè)務(wù)報(bào)表之外,還有一些呈現(xiàn)是給領(lǐng)導(dǎo)看,這個(gè)就需要dashboard炫的東西,這個(gè)時(shí)候,我不可能去買(mǎi)個(gè)這樣工具,一是成本,二是工具多了也麻煩,最好一個(gè)就能搞定dashboard這種不重要,但是要有點(diǎn)功能。
三. 解決復(fù)雜動(dòng)態(tài)報(bào)表,沒(méi)有辦法實(shí)現(xiàn)零編碼,動(dòng)態(tài)報(bào)表直接好處就是減少模板制作量。每次換工具實(shí)在麻煩,我們應(yīng)該把時(shí)間和精力放在我們最擅長(zhǎng)的解決方案上,而不是經(jīng)常去搞報(bào)表選型,報(bào)表培訓(xùn)。
以上是我一些心得體會(huì),有些評(píng)論已經(jīng)不正確了,
報(bào)表工具誰(shuí)好誰(shuí)壞,請(qǐng)各位斧正 。