FacebookTwitterLineHatena

月末月初,年中年末,一大批報表需求湧來。每到這個時候,都覺得自己的表格技能格外雞肋,看到任何一個N天精通Excel的字眼都格外敏感。

但是,企業裡批量的報表,爆炸的需求,縱使有再高的Excel技能也都招架不住。這時候恨不得有大神能寫個萬能腳本,一鍵搞定報表製作。

當然,萬能的程式碼是沒有的,半自助化的報表工具倒有一個——FineReport

這是一個開發人員很常用的web報表工具,使用簡單,可以輕鬆製作各種複雜報表,批量生成同類型報表。像週報月報這種固定報表,做好範本,定時調度可自動生成。

但是,也有人會問,報表樣式迥異,很多都很難共用一張範本,需求多了,做範本也很吃力啊。

人啊,總是求懶心切。這裡我總結了FineReport製作報表範本的幾個技巧,比如複用資料集,複用範本元件,能大大降低重複工作量。

1.資料集複用

FineReport對資料的操作,是將資料從資料庫中提取出來作為「資料集」,然後再用於報表範本的設計和資料的展現集合。這樣做的好處是能將不同資料庫中的資料直接整合到一起,置於記憶體的資料處理性能也比較快。

在開發報表時經常會遇到需要複用已有資料集的情況,比如今天提取的一個資料集1個月前提取過。笨辦法就是把以前的資料集打開,複製取數的sql語句,然後複製粘貼,雖然也比較費時,但比重新輸入要好很多。

但是其他資料集的複用就特別麻煩了,特別是內建資料集。像範本內建資料集原理就是在範本資料集中新建一個類似資料庫表的原表,可作為範本的資料來源來設計報表。

但是是在原電腦上建立的資料庫連結,如果換一台電腦這個連結就會失效,就看不了範本,這時候就可以直接將該範本的資料集定義成內建資料集或者在製作範本的機器上將該範本輸出成內建資料集範本,這樣該範本就可以在任何電腦上訪問了。

往往我們需要重新構建內建資料集,再重新錄入資料,可複用性為零,在另一個範本裡使用其他範本已有的內建資料集就得重新做一個。除了費時間,再一點就是複用時操作太多容易出錯,而且是不易察覺的錯誤。

這裡推薦一個又快又不容易出錯的方法——notepad++,它的好處體現在兩個方面:

可以直接用notepad++打開cpt或者frm(類似於程式碼的形式),把裡面的資料集部分的程式碼複製到另外一個cpt或者frm裡,一步複製粘貼就可以完全無錯地複用。
還可以一鍵替換用了很多次的範本引數,不需要自己一個個去改,十分方便。

2.編輯sql優化

FineReport是透過寫sql來提取資料的。

一般來說,我們取數都是從其他地方獲取測試有效的sql語句粘貼到finereport中,比較麻煩。而設計器內部的sql編輯器沒有智慧設定,且顯示區域較小,缺乏像navicat等自動聯想、自動檢測錯誤等人性化功能,導致開發報表時在設計器內部直接編寫sql語句很麻煩,並且finereport內建的函數和資料庫的函數還有所區別。

這個時候就可以安裝一款「高級資料庫查詢」外掛程式,該外掛程式提供了簡化sql輸入、無縫對接sql視覺化編輯工具的能力。

支援資料許可權管理,方便之餘更能兼顧安全
支援語法提示、自動補全(支援補齊欄位名)和程式碼美化,讓具有不同sql程式碼編寫習慣的開發者也能便捷地熟悉對方的程式碼
在sql中加入帆軟公式支持
支持資料視覺化的sql builder,傻瓜式操作,透過簡單拖拽就能完成sql編寫,讓沒有sql基礎的業務人員也能完成簡單的sql編寫,大大降低了報表開發的門檻

對比

預設sql編輯視窗:固定大小,程式碼無法自動美化:

高級資料庫查詢:可全屏展現,自動美化程式碼:

3.儲存格部分屬性複用

他山之石,可以攻玉。很多時候我們能在別的範本中看到喜歡的設計,比如文字配色、背景色、邊框設定、條件屬性設定、超鏈效果等等,然後就想複製過來,但是一步步設定比較麻煩,希望能想複製粘貼一樣簡單地操作就能完成,現有的crtl+B可複製格式。

但對於擴展、條件屬性、超鏈、控制項等不能實現,直接把全部內容和設定直接複製過來還需要再調整,往往我們只想要複製它眾多屬性中的一個,那麼這裡推薦使用一款外掛程式——可選擇性粘貼,可將儲存格的一下部分單獨粘貼:

元素(插入資料列、普通文本、富文本、公式、圖表、子報表、圖片、斜線)
擴充屬性(擴展分享、左父格、上父格、可伸展屬性、擴充後排序及排序公式)
樣式屬性(自訂屬性、文本格式/字體、儲存格樣式/邊框/背景、對齊、換行、縮進等)
形態屬性(資料字典、條碼、公式形態、金額線)
其他屬性(行高列寬調整、插入行策略、分頁設定等)
控制項(文本、文本域、數位元、密碼、按鈕、複選按鈕、日期、檔等控制項)
條件屬性(背景、字體、顏色、新值、列高、欄寬等條件屬性設定)
超級連結(網路報表、郵件、網頁連結、動態引數、JS腳本等)
也可全部粘貼。

4.決策報表中元件複用

決策報表,是專為解決駕駛艙類報表而開發的。不同于普通報表設計格子式介面,FineReport決策報表採用了畫布式操作介面,透過簡單的拖拽操作即可幫助使用者構建強大、全面的「管理戰情室」,在同一個頁面整合不同的企業資料,完美的展示企業的各類業務指標,實現資料的多維度分析。決策報表檔的尾碼格式是frm。

製作大屏戰情室時,也可以複用已有demo中的整個模組,也可以複用其中的元件。

比如下面這個展示專案階段及節點時間的模組,實際上使用了好幾十個控制項疊加起來才可以有這樣的顯示效果。如果要自己一個一個疊加實現需要花費非常多的時間和精力才能做好,而且還需要不斷調試組建的大小和相對位置。

但frm裡支援對多個元件的同時複製粘貼,並且可以一起放縮大小,保持整體比例和和各元件相對位置不變。

FineReport提供了元件雲端共用和本地複用功能。帆軟官方將收集到的優秀 demo上傳到雲端共用中心,使用者可根據需要,自行下載自己喜歡的 demo,並應用到自己的決策報表之中,既節省了人力又做出了好看的報表。此外,元件還支援本地複用,對任意選中的元件透過鍵盤可以進行複製、剪切、粘貼,支援在同一個報表範本內複用, 也支援在不同的報表範本間複用。

最後,一句話總結。對於複雜高頻的報表,尤其是企業報表需求,使用專用的報表工具,再掌握一些提高效率的技巧,絕對事半工倍。

免費試用FineReport11.0>

獲得帆軟最新動態:數據分析,報表實例,專業的人都在這裡!加入FineReport臉書粉絲團

相關文章:
做報表的朋友偷偷告訴我月薪5萬的秘密:讓報表動起來

當Excel不能勝任財務分析的需求,需要使用BI報表的解決方案

再複雜的報表,用這3種方式,都能解決!

喜歡這篇文章嗎?歡迎分享按讚,給予我們支持和鼓勵!

熱門文章推薦

立即試用,可獲取更多 報表範本和案例

免費試用