2013年10月28日 星期一

iReport 練習筆記(一)

  現在可以免費匯出pdf的套件有很多,剛好工作上有需要匯出報表,前輩使用的是iReport 特色是在於圖形化介面操作並有多國語系,可以很輕鬆直接的畫出你所想要的畫面並且支援許多匯出的格式和資料庫、表單傳送資料界接。

Step 1:首先下載iReport 本次練習是5.1版,可以選擇免安裝版和安裝版本,順道一提,iReport新舊版本相容性沒有做得很好,往往舊版本做好的報表在新版本會有異常問題發生,建議不需要一直用新的版本和作好版本註記的習慣。

Step 2:開始後可以看到畫面,在左上角  檔案→New...→可以看到內建許多的範本,選擇完你想要的範本之後→命名並且選擇存取好位置→就可以看到如下圖(圖中範本選擇"Blank A4");
可以看到基本上有(Title、Page Header、Column Header、Detail 1、Column Footer、Page Footer)當然還可以再新增相同的。


Step 3:上圖所示右邊有個叫"調色板",其實應該叫做元件板會比較合適,因為裡面的東西就是讓你拉進去中間畫面中的"元件",就很設計出你所想要的畫面。可以看到有Designer、XML、Preview的選項。

  3-1:Designer就是目前畫面所看到的"視覺"畫面。
  3-2:XML其實就是畫面是由這些XML的格式所組成,如果看不懂就不要亂動,否則你的 設計出來的畫面可能會"走樣"。
  3-2:Preview其實就是執行最上方的menu的Preview的設定(預設值是Internal Preview),用來   預覽,當執行preview時,會自動儲存並做編譯動作,如果沒有錯誤的話會產生一個副檔名叫作jasper檔案,當程式要產生pdf或其他格式時,直接使用這個檔案作為輸出格式範本。

Step 4:如果文字要輸出的是繁體中文,各元件屬性設定:
   4-1:Pdf Font name is now deprecated..(略):MHei-Medium
   4-2:Pdf Embedded:勾選
   4-3:Pdf Encoding:UniCNS-UCS2-H (Chinese Traditional)
  接下來,如下圖裡面的元件由上往下講,首先最上面的"列印時間",使用"Text Field" 元件
,要動態的產生值都是使用這個元件,屬性部分:Text Field Expression值填入
"列印時間:"+ new SimpleDateFormat("yyyy/MM/dd").format(new Date())
可以知道是使用Java的物件,所以iReport也可以匯入其他的jar使用其中的物件(menu上的工作→選項→iReport→Classpath)。


沒有留言:

張貼留言