用了4年,終於發現了這款國產報表工具的魅力 一、什麼情況下用FineReport? 二、怎麼更好地用FineReport?

第一次接觸FineReport應該是在2018年,當時剛從美團出來進了現在的國企IT部門。一晃用了快4年了。4年前,我覺得FineReport是一款萬能的企業級系統,4年後,我的這個想法依舊沒有改變。先別開噴,看完我爲什麼這麼想再說。

這4年裏我幾乎每天都在用這個工具,也跟同行推薦過很多次。也是因爲推薦了太多次,又恰逢軟件國產化趨勢,來找我諮詢工具的朋友有點多,我一時回覆不過來。所以想着有必要總結一下我這4年的使用經驗,爲正在使用和想要使用FineReport的朋友們解解惑。

首先:我以下說的,全都是個人體驗,不一定正確。

一、什麼情況下用FineReport?

FineReport幫助文檔裏面大大小小羅列了幾十個功能,但歸根結底,還是數據收集處理和數據展示。在以下幾種情形下,建議優先甚至只能使用FineReport:

先說數據收集處理,第一種情況是有數據,第二種是沒數據。

1、業務系統多,數據大多是多源異構,又按不同存儲形式存在不同數據庫中,數據不互通,質量極低。直接用這些低質量數據,不說展示的時候10分鐘都加載不完,做表的時候速度也很慢。

FineReport能夠關聯多個數據源,從不同的數據庫、數據表裏面取數。比如下面這張中國式複雜報表,數據來自不同數據表,最後展示在一張表中。


這樣取數的邏輯是沒問題的,但在實際操作的過程中,會發現大量數據錯誤、重複、不合理等問題,這也是我用FineReport一直想吐槽的地方,一直到去年發佈的FineReport11.0,才增加了具有「ETL 作業」功能的FineDataLink。

具體能夠實現的功能,看下面這張圖你們就應該清晰了。不同數據庫和系統中的數據統一進入FDL進行處理,之後存儲在數據倉庫中。如果原始數據庫數據更新,那這些增加的數據也會實時進行處理。用上ETL之後,數據質量會有顯著提升,與之而來的處理速度也會明顯加快。


2、很多企業特別是國企,數據治理和數據操作水平仍舊停留在十年前的水平,不說數據質量低的問題,有的甚至停留在紙質版本時代。把數據按照固定格式收集起來是利用數據的前提。

在這裏,FineReport承擔起了收集數據的工作,把紙質版數據、Excel裏面的數據全都搬到了線上,一來解決了沒有數據的問題,二來也從源頭規範了數據

有個印象很深的例子,系統本身很不起眼,但其他子公司老大來參觀之後直接聯繫了帆軟的銷售。在製造業幹過的應該都知道,倉庫管理是最難的,特別是庫存積壓的時候,貨物很多時候都是哪裏有了空位置就放哪裏,記錄也全靠庫存管理員填寫紙質單據。一旦管理員請假,那根本找不到貨在哪裏,別說規範填寫出貨單了。

後來我們用帆軟開發了個庫存管理系統,通過掃描貨物外箱二維碼自動上傳入庫、挪動、出庫記錄,再根據這些數據生成倉庫簡約平面圖,這樣只要有手機就能直接掃碼操作,管理員也不用擔心貨物堆放混亂了。


表面上只是解決了管理員管理問題,實際上倉庫吞吐量上去之後利用率大幅度提升。

3、爲了更清晰地查看中國式複雜報表,最好能凍結行表頭和鼠標懸浮處高亮。

中國式複雜報表本身就是國人做表不規範產生的惡果,就像是有了信號燈和斑馬線依舊堵車的“中國式過馬路”一樣,是有着強烈中國本土特色的企業問題。

報表軟件和企業主更應該想辦法規劃報表格式,讓報表變得更加簡潔,而不是一味地增加所謂的報表模板、報表樣式,就像是把信號燈做得越來越好看、但交通問題仍然無法解決一樣。

但好在FineReport在使用上也下了功夫,增加了凍結行表頭和鼠標懸浮處高亮的功能,前者只需要在報表設計器中更改「重複與凍結設置」。後者需要添加JS事件,具體怎麼操作可以自己去看他們的幫助文檔。這兩個功能設置好之後,才能在眼花繚亂的數據中定位到自己想看的內容。


4、不想花大量時間在大屏可視化設計上,但駕駛艙和數字化大屏的需求量上升。

就跟寫“流水賬日報、週報”一樣,這年頭可視化大屏和管理駕駛艙幾乎是每個公司的必備項目,有的只是爲了秀一秀公司“科技實力”,做做“面子工程”;有的確實有些“指點江山”的需要。

但我還是覺得,數據可視化純屬是錦上添花的工作,不該把大量時間人力投入在此。FineReport裏面也內置了不少可視化大屏模板,之前我花10分鐘,更換數據拉了一張人力資源分析大屏,人力部門開會的時候直接就用了起來,說是雖然簡潔但也很貼近業務,不純粹是花裏胡哨。


給大家提個醒,不要看到某個軟件可視化大屏多就去用,比如某S,自適應做的很差,電腦上看着挺正常的,平板上打開給領導看的時候,全是變形圖表,太尷尬了。

二、怎麼更好地用FineReport?

幾乎每天都會用到FineReport,這裏給大家一些使用小建議,希望對你們來說有用。

1、用之前記得調整設計器內存,防止出現卡死的狀況。

FineReport的報表設計器默認設置的內存很小,最大才512M,動不動就佔滿了。雖然帆軟市場裏面有設計器內存監控插件,但卡死的情況仍然存在。況且對於現在的電腦來說,調大點內存不算什麼。只要準備一個記事本,把下面圖中的文件下下來,保存到報表安裝目錄下的bin目錄下,重啓設計器,明顯絲滑多了。


2、用填報功能的時候,提前設置好「填報自動暫存」,不然一刷新數據就沒了。

填報數據時,很容易填了一半忙別的事情或者填完忘了提交,再次刷新後,之前填報的內容就消失了,這時只能無奈地再填一遍,字段多的時候就特別煩。提前在「填報頁面設置」菜單欄裏面勾選自動暫存,數據只要填寫了就不會丟失。

3、上面說填報沒有自動保存很困擾,但填錯了一個空一個空刪除也很困擾,這裏也可以用JS來實現一鍵清除填報內容。

特別用在填報物料單的時候,貨號、顏色、尺寸、數量等等項目都需要錄入填寫,一次可能有幾十個空格要填,有一個填錯就容易弄混,想要重新填寫還要一個一個空刪除,很浪費時間。這也可以用JS實現,具體代碼你們可以自己去FineReport的幫助文檔複製。


4、想要分sheet導出Excel的時候,也可以用JS來實現。

我們公司在導出Excel表格的時候,經常需要根據地區分Sheet展示,之前不會用,導出的時候總是導在一張表上,還要手動複製放到不同的sheet裏面,有一回帆軟的人來公司拜訪的時候,教了我們用JS實現,具體代碼怎麼寫可以去看FineReport的幫助文檔。


四年前剛接觸FineReport,我基本上都是用寫代碼的方式實現各個功能。但四年後的今天,我逐步摸索出了不用寫代碼就能實現功能的方式,可能是一個按鈕,可能是一個配置。反正,FineReport功能真的很多,經常用就能感知到便捷性。

記得點點關注。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章