對于經(jīng)常制作報表的人來說,最痛苦的事情莫過于漫天的復(fù)雜報表需求了: 每天來自各個部門的不同需求千奇百怪,什么績效表、提升表、考勤表、報銷款項表、日報周報等等,最最折磨人的是還需要進行分類匯總、對比匯總、明細匯總等,堆成山的報表需求幾乎占據(jù)了報表人的所有時間(包括加班)。 最近就有一個做財務(wù)的朋友跟我抱怨,每個月做的報表不說可以繞地球幾圈,關(guān)鍵是重復(fù)報表制作起來相當(dāng)?shù)目菰餀C械,天天對著Excel取數(shù)匯總,很容易失去對工作的熱情,時間和感情雙雙被浪費。 其實面對這些重復(fù)復(fù)雜的報表需求,只要學(xué)會了批量制作報表,就能夠減少80%的制表時間,鼠標(biāo)輕輕一點就能生成同類型復(fù)雜報表,平時只要做一份模板,需要的時候就調(diào)度出來自動生成,是不是相當(dāng)方便輕松? 想要實現(xiàn)批量報表的工具很多,這里我用一款半自助化的報表工具FineReport來演示一下,如何利用制作報表模板的技巧,減少我們的報表工作量: 1.數(shù)據(jù)集復(fù)用FineReport對數(shù)據(jù)的操作,是將數(shù)據(jù)從數(shù)據(jù)庫中提取出來作為“數(shù)據(jù)集”,然后再用于報表模板的設(shè)計和數(shù)據(jù)的展現(xiàn)集合。這樣做的好處是能將不同數(shù)據(jù)庫中的數(shù)據(jù)直接整合到一起,置于內(nèi)存的數(shù)據(jù)處理性能也比較快。 在開發(fā)報表時經(jīng)常會遇到需要復(fù)用已有數(shù)據(jù)集的情況,比如今天提取的一個數(shù)據(jù)集1個月前提取過。笨辦法就是把以前的數(shù)據(jù)集打開,復(fù)制取數(shù)的sql語句,然后復(fù)制粘貼,雖然也比較費時,但比重新輸入要好很多。 但是其他數(shù)據(jù)集的復(fù)用就特別麻煩了,特別是內(nèi)置數(shù)據(jù)集。在原電腦上建立的數(shù)據(jù)庫連接,如果換一臺電腦這個鏈接就會失效,就看不了模板。這時候就可以直接將該模板的數(shù)據(jù)集定義成內(nèi)置數(shù)據(jù)集,這樣該模板就可以在任何電腦上訪問了。 這里推薦一個又快又不容易出錯的方法——notepad++,它的好處體現(xiàn)在兩個方面:
2.編輯sql優(yōu)化專業(yè)的報表工具是通過寫sql來提取數(shù)據(jù)的,比如FineReport。 一般來說,我們?nèi)?shù)都是從其他地方的sql語句粘貼過來,比較麻煩。而設(shè)計器內(nèi)部的sql編輯器沒有智能設(shè)置,且顯示區(qū)域較小,缺乏像navicat等自動聯(lián)想、自動檢測錯誤等人性化功能,導(dǎo)致開發(fā)報表時在設(shè)計器內(nèi)部直接編寫sql語句很麻煩。 這個時候就可以安裝一款“高級數(shù)據(jù)庫查詢”插件,該插件提供了簡化sql輸入、無縫對接sql可視化編輯工具的能力。
對比 默認sql編輯窗口:固定大小,代碼無法自動美化: 高級數(shù)據(jù)庫查詢:可全屏展現(xiàn),自動美化代碼:
3.單元格部分屬性復(fù)用很多時候我們能在別的模板中看到喜歡的設(shè)計,比如文字配色、背景色、邊框設(shè)置、條件屬性設(shè)置、超鏈效果等等,然后就想復(fù)制過來,但是一步步設(shè)置比較麻煩,希望能想復(fù)制粘貼一樣簡單地操作就能完成,其實只需要crtl+B就可復(fù)制格式。 但對于擴展、條件屬性、超鏈、控件等不能實現(xiàn),直接把全部內(nèi)容和設(shè)置直接復(fù)制過來還需要再調(diào)整,往往我們只想要復(fù)制它眾多屬性中的一個,那么這里推薦使用一款插件——可選擇性粘貼,可將單元格的一下部分單獨粘貼:
4.決策報表中組件復(fù)用決策報表,是專為解決駕駛艙類報表而開發(fā)的,當(dāng)制作大屏或駕駛艙時,也可以復(fù)用已有demo中的整個模塊,也可以復(fù)用其中的組件。 比如下面這個展示項目階段及節(jié)點時間的模塊,實際上使用了好幾十個控件疊加起來才可以有這樣的顯示效果。如果要自己一個一個疊加實現(xiàn)需要花費非常非常多的時間和精力才能做好,而且還需要不斷調(diào)試組建的大小和相對位置。 但frm里支持對多個組件的同時復(fù)制粘貼,并且可以一起放縮大小,保持整體比例和和各組件相對位置不變。 最后,一句話總結(jié)。對于復(fù)雜高頻的報表,尤其是企業(yè)報表需求,使用專用的報表工具,再掌握一些提高效率的技巧,絕對事半工倍。 |
|