iT邦幫忙

2024 iThome 鐵人賽

DAY 20
0

JasperReports的常用的部分已經說得差不多了,不過使用上有滿多值得大家注意的小地方。

元素的對齊

元素長度

對齊元素這件事算是最常碰到也不容易察覺到的問題,以下面這個模板為例,當我們的Static text或Text Field沒有使用邊框時,即使我已經把某欄位的長度調整少了1px,也很難馬上看的出來。

在有使用邊框的情況下才比較能看得出差異:

那沒對齊有什麼關係嗎?與其他檔案類型比起來,對Excel的影響最大,我們可以看到JasperReports對長度的差異非常敏銳,Excel上的直行從A、B,直接跳到D,這對於要使用公式的使用者非常不方便。

但是當我們本來就沒有要加邊框時,建議:

  1. 直接選取元素,在右下屬性區域查看與調整長度都比較明確。
  2. 按Ctrl + 滾輪,將模板放大來調整,比較看得清楚長度的差異。
  3. 如果長度對了,元素位置沒對齊也會有同樣的狀況發生,只差一點點的話可以直接用鍵盤方向鍵調整元素精細的位置。

Band高度

元素與Band的高度沒對齊的話,在Excel檔上面也有像直行跳行一樣,會有跳列的情況發生。我們在放置元素到模板之後,通常元素的高度比較小(如下圖的Summary Band與parameter參數),最後希望Band高度要縮小到與元素相同,但是用滑鼠拉又容易對不齊,怎麼調比較快又準?

  1. 先將元素上方對齊後,直接點選Band,到右下屬性區域調整Band的高度。
  2. (推薦) 在Band上點右鍵 -> 點選「Stretch To Content」,Band的高度就會自動調整至元素高度了。

    調整後會像這樣:

消除白色背景

同樣是發生在Excel檔上,當元素沒有加上邊框時,匯出的Excel會有白色的背景遮住原有的框線。

如果希望把白色背景消除的話,可以選取所有元素 -> 到右下屬性區域點擊「Edit Properties」 -> 點擊「Add」新增屬性net.sf.jasperreports.export.xls.white.page.background -> 值設為false

之後匯出的Excel就會看到單元格原本的格線了。

Static Text與Text Field互相轉換

有時候模板做好了,但後續還需要調整,或是從已完成的模板複製出來做成新的模板時,可能有將原先是Static Text的元素換成Text Field、將原先是Text Field的元素換成Static Text的需求發生。
畢竟同樣是顯示文字的元素,如果為了這點改動就要把元素刪除,重新拉一個元素進模板,那大小和位置又要重調,要調整的地方一多就很花時間。
JasperReports也許有想到這點,讓我們能在:
Static Text點右鍵 -> 「Convert To Text Field」

或是 Text Field點右鍵 -> 「Convert To Static Text」

一鍵轉換文字元素,滿實用方便的功能。

自訂元素

除了官方提供的元素外,我們也可以把常用的元素儲存為「Basic Elements」或「Composite Elements」,減少我們重複作業的時間。
將想要儲存的單一元素或複數的元素選取 -> 點右鍵選擇「Save as Composite Elements」

填寫元素名稱、描述,甚至可以上傳自己想要的icon。在「Position in Palette」這欄可以選擇儲存為「Basic Elements」還是「Composite Elements」。

即使在新的模板中,也可以直接拖曳自訂的元素,連元素中的Parameters、Fields、Variables都會存下來,但還是必須在新的模板中新增這些自己的Parameters、Fields、Variables(除非是預設的)。

JasperReports就介紹到這啦,下一篇會開始進入Apache POI的世界了。


Reference


上一篇
JasperReports-Chart元素
下一篇
Apache POI-簡介
系列文
Java工程師的報表入門與實作30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言