SlideShare a Scribd company logo
1 of 28
Download to read offline
iReport        iReport版本:1.3.2
          作實


                                          目錄

壹、認識 iReport
  一、下載 iReport 軟體……………………………………………….……2
  二、iReport 環境安裝………………………………………………………3
  三、認識 iReport 的環境………………………………………………….4
貳、使用 iReport
  一、新增報表……………………………………………………………….5
    二、常用按鈕……………………………………………………………….9
    三、建立連接資料庫的方式……………………………………………...10
    四、設計第一個 iReport 報表 ………………………………………….13
  五、更進階的報表設計…………………………………………………...21
參、編譯器設計與 iReport 關聯
  一、檢查所需的檔案……………………………………………………...24
  二、撰寫報表程式………………………………………………………...26




               seatof@gmail.com          http://blog.yam.com/wing007   1
箱信 鈞智范                            格落 部
iReport        iReport版本:1.3.2
          作實

壹、認識 iReport
一、下載 iReport 軟體
連結到官網抓程式 http://jasperforge.org/sf/projects/ireport→點選 Download




抓取需要使用的版本 (目前我在使用的是 1.3.2) 下載 .exe 的選項




               seatof@gmail.com          http://blog.yam.com/wing007   2
箱信 鈞智范                            格落 部
iReport        iReport版本:1.3.2
          作實
二、iReport 環境安裝

安裝程式(只要一直按 next 就會幫你裝好嚕)




安裝完成後點說面的圖案就可以啟動 iReport




三、認識 iReport 的環境




在中央最大區域的地方,即是 iReport 的工作區域,可供放置各項靜態、動態等
文字;在左邊則是開啟的檔案列表,與報表結構的內容;下方則是 iReport 編譯
後,會出現的訊息視窗,當編譯發生錯誤時,則由這個區域來得知錯誤,較常發
生的錯誤,可能是型態的錯誤;右側是物件的屬性與對應的 Library。



               seatof@gmail.com          http://blog.yam.com/wing007   3
箱信 鈞智范                            格落 部
iReport        iReport版本:1.3.2
          作實

貳、使用 iReport
一、新增報表



                                                   新增報表


由左上角的圖示,點下即可新增一個新的工作報表。




開啟後,會出現這個視窗,可以依您的需要來更改設定值,在 [Page Margin]                              的
地方,是上下左右的邊界設定。




               seatof@gmail.com          http://blog.yam.com/wing007   4
箱信 鈞智范                            格落 部
iReport        iReport版本:1.3.2
          作實
再來,建議切換至 [More…]                    的選擇頁中,進行一些設定。




即“如果沒有資料時”的設定,建議將原本為[NoPages]的選項改為
[AllSectionsNoDetail]的選項 這樣當沒有資料時 才不會是一片白白空空的報表
                        。        ,             。
再者,上方的報表名稱,也建議改成與檔名相同的名稱,這個名稱會與產生編譯
的 .java 檔案有關。




接下來,就先將檔案儲存,檔名改為 TestiReport.jrxml。


               seatof@gmail.com          http://blog.yam.com/wing007   5
箱信 鈞智范                            格落 部
iReport        iReport版本:1.3.2
          作實

                                                                 表頭

                                                                 頁首


                                                                 行首

                                                                 內容
                                                                 行尾

                                                                 頁尾


                                                                 最後的頁尾

                                                                 總和等、用來計算
在工作視窗中,可以看到其中有 Title ,PageHeader ……等等的橫條的方格。
Title : 報表的表頭。
PageHeader : 報表的頁首。
ColumnHeader : 報表的行首,通常用來定義行的欄位名稱。
Detail : 報表的內容。
ColumnFooter : 報表的行尾,可用來告知報表的一些參數,諸如頁碼等。
PageFooter : 報表的頁尾。
LastPageFooter : 最後頁的頁尾。
Summary : 用來計算用。




此頁,即秀出以 iReport                   實作的畫面定義。



               seatof@gmail.com          http://blog.yam.com/wing007        6
箱信 鈞智范                            格落 部
iReport        iReport版本:1.3.2
          作實

若是,正要實作的報表比較簡單,可能某些是不需要的分類,則可以按下滑鼠的


右鍵,即會出現                           的 pop     式選單,請選擇 [Band properties]。




點下後即會出現上圖,比如要將 PageHeader                                的頁首不要顯示出來,即將
[Band Height] 的高度 設為 [ 0 ] 最後 按 [x]
                         。   ,                                後離開 則 PageHeader 就
                                                                 ,
不會顯示在 工作區域上。




               seatof@gmail.com           http://blog.yam.com/wing007         7
箱信 鈞智范                            格落 部
iReport        iReport版本:1.3.2
          作實
二、常用按鈕




    :直線工具,可用這個來區分出如報表的區域呈現。

     :矩形工具,以矩形方塊來繪出的。


     :圓型工具,可畫出圓形。

     :靜態文字,例如前二頁的“服務報價單”,即是用靜態文字顯示的。

      :動態文字,可顯示如由資料庫取出的資料值。


     :圖形工具,可以將圖形檔來加入報表。


     :編寫 SQL Script           語法敘述的地方。




               seatof@gmail.com          http://blog.yam.com/wing007   8
箱信 鈞智范                            格落 部
iReport        iReport版本:1.3.2
          作實
三、建立連接資料庫的方式
     設定 classpath 的驅動


1. 先設定 classpath




2. 新增 JAR 檔




3. 根據你要連的資料庫加入他的 JAR 檔
   例如 oracle 就需要 ojdbc14.jar


※ 可以到下面的網頁去抓
http://download123.mediafire.com/mzn2j2cdodwg/aycyo9bgtzt/ojdbc14.jar




               seatof@gmail.com          http://blog.yam.com/wing007    9
箱信 鈞智范                            格落 部
iReport        iReport版本:1.3.2
          作實
     設定資料庫聯結

     點資料→連結/資料來源
1.




     新增
2.




     選擇你要的連線方式→再按 NEXT
3.




               seatof@gmail.com          http://blog.yam.com/wing007   10
箱信 鈞智范                            格落 部
iReport        iReport版本:1.3.2
          作實
     設定資料庫的連結細節
4.




      name:新建連線的名稱
      JDBC Driver:你要用的驅動選擇(我用 oracle)
      JDBC URL:自動顯示 URL
      Sever Address:IP 位置或資料庫位址(我用本端位置)
      Database:資料庫名稱 (我用的是 XE)
               下按得記           到改修動自會他
                              到改修動自會他
      <TIP>記得按下 Wizard                         URL
               下按得記
               下按得記           到改修動自會他
                              到改修動自會他
     User Name:資料庫專案的名稱
     Password:資料庫專案的密碼
     按下測試連線會顯示是否成功
5.




               seatof@gmail.com          http://blog.yam.com/wing007   11
箱信 鈞智范                            格落 部
iReport        iReport版本:1.3.2
          作實
四、設計第一個 iReport 報表
首先設計您的工作區域,將不要的工作區將之 [Band Height]                                     設為[0],即可隱
藏 不要的區域。以本例,只留下 Title、ColumnHeader、Detail、ColumnFooter 這
幾 個工作區域。




再來 有了資料庫連線後 必需要指定這個 iReport 報表使用哪一個資料庫連線
  ,        ,                            。




請選 [建立]→ [設定動態連結]。




選好後,請按 [確定] 繼續。




               seatof@gmail.com          http://blog.yam.com/wing007          12
箱信 鈞智范                            格落 部
iReport        iReport版本:1.3.2
          作實

再來,按下              按鈕,叫出編寫 sql 的畫面。
點選[Query designer]




選取對應的資料庫 (我選擇的是 PT 的資料庫)




               seatof@gmail.com          http://blog.yam.com/wing007   13
箱信 鈞智范                            格落 部
iReport        iReport版本:1.3.2
          作實
對需要的 Table 點兩下或出現在右邊的視窗。 (我選擇 VENDER)




勾選需要用到的欄位,再按[OK]。




               seatof@gmail.com          http://blog.yam.com/wing007   14
箱信 鈞智范                            格落 部
iReport        iReport版本:1.3.2
          作實
顯示 SQL 與選擇的欄位跟型態,再按下[OK]即可。




     來加入一個靜態文字。




               seatof@gmail.com          http://blog.yam.com/wing007   15
箱信 鈞智范                            格落 部
iReport        iReport版本:1.3.2
          作實
接著,按下滑鼠右鍵,會出 現如圖的功能表,請點選[屬性]來設定其它的屬性。




在這個靜態文字中,打入 “供應商清單” 五個中文字。




選擇 [Font]         來更改字型,如此一來,中文字才能完整的呈現。




其中 [Font name]          表示在 iReport 中所顯示的字體,可選擇細明體等。
[PDF font name] 則是在 Acrobat PDF Reader 中所顯示的字體,請選擇
MHei-Medium 字體。 另外,再於最下方的 [PDF Encoding] 中 設為
UniCNS-UCS2-H(Chinese traditional)的編碼,並將 [PDF Embedded] 打勾。




               seatof@gmail.com          http://blog.yam.com/wing007   16
箱信 鈞智范                            格落 部
iReport        iReport版本:1.3.2
          作實
接著請以相同的方法,在 ColumnHeader 中,將靜態文字的欄位一一補上。
配置的畫面如下圖:




到此為止,則完成了靜態文字的配置工作。


緊接著,要來配置真正的資料表中的內容。這個會與取出的 sql 語句相關。
SELECT
    VENDER.quot;VD_NOquot; AS VENDER_VD_NO,
    VENDER.quot;VD_NAMEquot; AS VENDER_VD_NAME,
    VENDER.quot;MANAGERquot; AS VENDER_MANAGER
FROM
    quot;PTquot;.quot;VENDERquot; VENDER
這樣的 sql 語法,會取出 VENDER_VD_NO, VENDER_VD_NAME,
VENDER_MANAGER 這三個欄位。那麼就在 Detail 的畫面上增加三個

TextField Tool 的工具。 請按                   來增加 TextField Tool。如下圖所示:




拖曳 Library 中 Fields 內的欄位放入在表單中。



               seatof@gmail.com          http://blog.yam.com/wing007   17
箱信 鈞智范                            格落 部
iReport        iReport版本:1.3.2
          作實
到此,可以先以 iReport 來進行測試。

           在畫面的右手邊,有這三個一組的小圖示,左邊的是編譯這個

iReportXml 的檔案,中間的是跑出畫面的靜態文字處理,不包含資料庫部份;
最後一個則是編譯並讀出資料庫的內容。

可以選擇使用 JRViewer 來進行結果預覽。或是使用 Acrobat PDF Reader
進行預覽。




若要以 Acrobat PDF Reader 來進行預覽時,還必需另外設定外部程式路徑。




請選擇 [工具]→[選項]。會開出選項的視窗。




               seatof@gmail.com          http://blog.yam.com/wing007   18
箱信 鈞智范                            格落 部
iReport        iReport版本:1.3.2
          作實
請選擇 [External Programs]並指向 Acrobat PDF Reader 的執行程式路徑即可。




若出現以下的畫面,代表成功的做出報表。




               seatof@gmail.com          http://blog.yam.com/wing007   19
箱信 鈞智范                            格落 部
iReport        iReport版本:1.3.2
          作實
五、更進階的報表設計
接著,再來設計一個 iReport 很重要的技巧,即是“報表參數”。可由外部傳入
iReport 作為參數。即可以使用程式語言,來控制 iReport 的輸出格式。




選擇報表參數後[Parameters],按下新增。




               seatof@gmail.com          http://blog.yam.com/wing007   20
箱信 鈞智范                            格落 部
iReport        iReport版本:1.3.2
          作實




請在[Parameter name]輸入“testDay”,這個即是我們希望外部傳入日期。
[Parameter class type] 請選擇 “java.lang.String”,
[Default value expression] 請輸入 “1900/1/1”,此為預設值。




接著,請將列印日期的 TextFiled 的屬性更改為:
[Textfield Expression Class] 設為“java.lang.String”,[Evaluation time] 設為
“Now”,[Textfield expression] 設為“$P{rptToday}”,同理,若該欄位接受後,
字體顏色會轉為綠色,若不接受,則是呈現藍色。


               seatof@gmail.com          http://blog.yam.com/wing007     21
箱信 鈞智范                            格落 部
iReport        iReport版本:1.3.2
          作實
加入 Parameter 的輸出結果。




               seatof@gmail.com          http://blog.yam.com/wing007   22
箱信 鈞智范                            格落 部
iReport        iReport版本:1.3.2
          作實

參、編譯器設計與 iReport 關聯
一、檢查所需的檔案




    我們的環境需要再加入幾個 Lib 在我們的環境,如此才能編譯。
    這幾個 jar 在安裝 iReport 後在他的 lib 資料中可以找到。
    (C:Program FilesJasperSoftiReport-1.3.2lib)
              itext-1.3.1.jar
              jasperreports-1.3.2.jar
              xml-apis.jar
              iTextAsian.jar (另外下載)
           可以透過下面的兩個網址去下載
           Ahttp://pics5.webs-tv.net/5/attachfile/9/3/7/739938/1/1465930828f2c3.zip
           Bhttp://sourceforge.net/project/downloading.php?groupname=itextpdf&fil
           ename=iTextAsian.jar&use_mirror=nchc
           (抓下來的副檔名為.zip 把它改成.jar 就可以使用)

註:iTextAsian.jar 為亞洲字型類別檔,若未將之引入使用,會發出如下的錯誤:
Could not load the following font;pdfFontName: MHei-Medium;
pdfEncoding:UniCNS-UCS2-H;isPdfEmbedded:false


               seatof@gmail.com          http://blog.yam.com/wing007            23
箱信 鈞智范                            格落 部
iReport        iReport版本:1.3.2
          作實
    把這幾個 jar 檔放入專案中 WebRoot/WEB-INF/lib 中
    就可以跟 iReport 做關聯




               seatof@gmail.com          http://blog.yam.com/wing007   24
箱信 鈞智范                            格落 部
iReport        iReport版本:1.3.2
          作實
二、撰寫報表程式
這是編譯器與 iReport 的 Solution,我們必須先做幾個步驟才能完成此流程。

                                     對應的bean                           搭配iReport
  前端JSP頁面
                                         執行程式                           的範本檔
  按下匯出報表
                                    並做參數設定



                                     匯出PDF檔

                                   並在前端顯示


     第一步-製作範本檔(檔名:AR_002)




然後編譯製作好的 iReport,他會編繹出新的檔案 AR_002.jasper,並把這個檔案
放入專案下的 reportSample 當中。




原始檔為 AR_002.jrxml,他是一種 XML 的格式,可以檢視看原始碼。



               seatof@gmail.com          http://blog.yam.com/wing007          25
箱信 鈞智范                            格落 部
iReport        iReport版本:1.3.2
          作實
     第二步-UI 上的 FO 新增 method




增加 browse 頁面按鈕,panelGrid 中新增 function 與 trigger。




完成後編譯




               seatof@gmail.com          http://blog.yam.com/wing007   26
箱信 鈞智范                            格落 部
iReport        iReport版本:1.3.2
          作實
       第三步-前端頁面執行報表




執行 Bean 中新增的 method
public void genReport() {

//參數設定 getQuotation_no()
Map parameters = new HashMap();
    parameters.put(quot;QUO_NOquot;, this.IOso_quotations_sc.getQuotation_no_sc());


                    iReport 內參                          對應到 search 的
                    數的名稱                                method


//告知編譯器對應的檔案名稱,並把參數傳入
this.reportUrl = sys.getReport(quot;AR_002quot;,parameters);


                                  範本檔的              傳入上面
                                  檔案名稱              的參數

}




               seatof@gmail.com          http://blog.yam.com/wing007    27
箱信 鈞智范                            格落 部
iReport        iReport版本:1.3.2
          作實
     第四步-報表 pdf 在頁面顯示




               seatof@gmail.com          http://blog.yam.com/wing007   28
箱信 鈞智范                            格落 部

More Related Content

What's hot

Sense of hearing ppt gr.3 ears
Sense of hearing ppt gr.3 earsSense of hearing ppt gr.3 ears
Sense of hearing ppt gr.3 earsShirley Valera
 
Classification of animals
Classification of animalsClassification of animals
Classification of animalsrebecalagos
 
Mangoes Round the year PPT
Mangoes Round the year PPTMangoes Round the year PPT
Mangoes Round the year PPTUmesh Pandit
 
Parts Of The House
Parts Of The HouseParts Of The House
Parts Of The Housemonikglosa
 
Food from animals
Food from animalsFood from animals
Food from animalsRebeca
 

What's hot (7)

Tom's TEFL - Prepositions of Place
Tom's TEFL - Prepositions of PlaceTom's TEFL - Prepositions of Place
Tom's TEFL - Prepositions of Place
 
Sense of hearing ppt gr.3 ears
Sense of hearing ppt gr.3 earsSense of hearing ppt gr.3 ears
Sense of hearing ppt gr.3 ears
 
Classification of animals
Classification of animalsClassification of animals
Classification of animals
 
My house-power point
My house-power pointMy house-power point
My house-power point
 
Mangoes Round the year PPT
Mangoes Round the year PPTMangoes Round the year PPT
Mangoes Round the year PPT
 
Parts Of The House
Parts Of The HouseParts Of The House
Parts Of The House
 
Food from animals
Food from animalsFood from animals
Food from animals
 

More from seatof

侯香美 美麗的新娘
侯香美 美麗的新娘侯香美 美麗的新娘
侯香美 美麗的新娘seatof
 
侯香美下一季造型設計提案
侯香美下一季造型設計提案侯香美下一季造型設計提案
侯香美下一季造型設計提案seatof
 
Mrpig 下班一條龍 上班一條豬
Mrpig 下班一條龍 上班一條豬Mrpig 下班一條龍 上班一條豬
Mrpig 下班一條龍 上班一條豬seatof
 
黃麗淑秋冬造型設計提案
黃麗淑秋冬造型設計提案黃麗淑秋冬造型設計提案
黃麗淑秋冬造型設計提案seatof
 
陳姿諭秋冬美髮髮型設計
陳姿諭秋冬美髮髮型設計陳姿諭秋冬美髮髮型設計
陳姿諭秋冬美髮髮型設計seatof
 
張鈺婕美髮顧客生日造型設計
張鈺婕美髮顧客生日造型設計張鈺婕美髮顧客生日造型設計
張鈺婕美髮顧客生日造型設計seatof
 
張月娥顧客造型投影片
張月娥顧客造型投影片張月娥顧客造型投影片
張月娥顧客造型投影片seatof
 
侯香美個人簡介簡報
侯香美個人簡介簡報侯香美個人簡介簡報
侯香美個人簡介簡報seatof
 
小狗出售
小狗出售 小狗出售
小狗出售 seatof
 
小狗出售 sell dog
小狗出售 sell dog小狗出售 sell dog
小狗出售 sell dogseatof
 
小狗出售 sell dogs
小狗出售 sell dogs小狗出售 sell dogs
小狗出售 sell dogsseatof
 
聰明人必做的 10 件事
聰明人必做的 10 件事聰明人必做的 10 件事
聰明人必做的 10 件事seatof
 
九毛錢的大愛--創世基金會創辦人曹慶最近的故事
九毛錢的大愛--創世基金會創辦人曹慶最近的故事九毛錢的大愛--創世基金會創辦人曹慶最近的故事
九毛錢的大愛--創世基金會創辦人曹慶最近的故事seatof
 
林大為姓名學網站分析
林大為姓名學網站分析林大為姓名學網站分析
林大為姓名學網站分析seatof
 

More from seatof (14)

侯香美 美麗的新娘
侯香美 美麗的新娘侯香美 美麗的新娘
侯香美 美麗的新娘
 
侯香美下一季造型設計提案
侯香美下一季造型設計提案侯香美下一季造型設計提案
侯香美下一季造型設計提案
 
Mrpig 下班一條龍 上班一條豬
Mrpig 下班一條龍 上班一條豬Mrpig 下班一條龍 上班一條豬
Mrpig 下班一條龍 上班一條豬
 
黃麗淑秋冬造型設計提案
黃麗淑秋冬造型設計提案黃麗淑秋冬造型設計提案
黃麗淑秋冬造型設計提案
 
陳姿諭秋冬美髮髮型設計
陳姿諭秋冬美髮髮型設計陳姿諭秋冬美髮髮型設計
陳姿諭秋冬美髮髮型設計
 
張鈺婕美髮顧客生日造型設計
張鈺婕美髮顧客生日造型設計張鈺婕美髮顧客生日造型設計
張鈺婕美髮顧客生日造型設計
 
張月娥顧客造型投影片
張月娥顧客造型投影片張月娥顧客造型投影片
張月娥顧客造型投影片
 
侯香美個人簡介簡報
侯香美個人簡介簡報侯香美個人簡介簡報
侯香美個人簡介簡報
 
小狗出售
小狗出售 小狗出售
小狗出售
 
小狗出售 sell dog
小狗出售 sell dog小狗出售 sell dog
小狗出售 sell dog
 
小狗出售 sell dogs
小狗出售 sell dogs小狗出售 sell dogs
小狗出售 sell dogs
 
聰明人必做的 10 件事
聰明人必做的 10 件事聰明人必做的 10 件事
聰明人必做的 10 件事
 
九毛錢的大愛--創世基金會創辦人曹慶最近的故事
九毛錢的大愛--創世基金會創辦人曹慶最近的故事九毛錢的大愛--創世基金會創辦人曹慶最近的故事
九毛錢的大愛--創世基金會創辦人曹慶最近的故事
 
林大為姓名學網站分析
林大為姓名學網站分析林大為姓名學網站分析
林大為姓名學網站分析
 

iReport實做練習part(1)

  • 1. iReport iReport版本:1.3.2 作實 目錄 壹、認識 iReport 一、下載 iReport 軟體……………………………………………….……2 二、iReport 環境安裝………………………………………………………3 三、認識 iReport 的環境………………………………………………….4 貳、使用 iReport 一、新增報表……………………………………………………………….5 二、常用按鈕……………………………………………………………….9 三、建立連接資料庫的方式……………………………………………...10 四、設計第一個 iReport 報表 ………………………………………….13 五、更進階的報表設計…………………………………………………...21 參、編譯器設計與 iReport 關聯 一、檢查所需的檔案……………………………………………………...24 二、撰寫報表程式………………………………………………………...26 seatof@gmail.com http://blog.yam.com/wing007 1 箱信 鈞智范 格落 部
  • 2. iReport iReport版本:1.3.2 作實 壹、認識 iReport 一、下載 iReport 軟體 連結到官網抓程式 http://jasperforge.org/sf/projects/ireport→點選 Download 抓取需要使用的版本 (目前我在使用的是 1.3.2) 下載 .exe 的選項 seatof@gmail.com http://blog.yam.com/wing007 2 箱信 鈞智范 格落 部
  • 3. iReport iReport版本:1.3.2 作實 二、iReport 環境安裝 安裝程式(只要一直按 next 就會幫你裝好嚕) 安裝完成後點說面的圖案就可以啟動 iReport 三、認識 iReport 的環境 在中央最大區域的地方,即是 iReport 的工作區域,可供放置各項靜態、動態等 文字;在左邊則是開啟的檔案列表,與報表結構的內容;下方則是 iReport 編譯 後,會出現的訊息視窗,當編譯發生錯誤時,則由這個區域來得知錯誤,較常發 生的錯誤,可能是型態的錯誤;右側是物件的屬性與對應的 Library。 seatof@gmail.com http://blog.yam.com/wing007 3 箱信 鈞智范 格落 部
  • 4. iReport iReport版本:1.3.2 作實 貳、使用 iReport 一、新增報表 新增報表 由左上角的圖示,點下即可新增一個新的工作報表。 開啟後,會出現這個視窗,可以依您的需要來更改設定值,在 [Page Margin] 的 地方,是上下左右的邊界設定。 seatof@gmail.com http://blog.yam.com/wing007 4 箱信 鈞智范 格落 部
  • 5. iReport iReport版本:1.3.2 作實 再來,建議切換至 [More…] 的選擇頁中,進行一些設定。 即“如果沒有資料時”的設定,建議將原本為[NoPages]的選項改為 [AllSectionsNoDetail]的選項 這樣當沒有資料時 才不會是一片白白空空的報表 。 , 。 再者,上方的報表名稱,也建議改成與檔名相同的名稱,這個名稱會與產生編譯 的 .java 檔案有關。 接下來,就先將檔案儲存,檔名改為 TestiReport.jrxml。 seatof@gmail.com http://blog.yam.com/wing007 5 箱信 鈞智范 格落 部
  • 6. iReport iReport版本:1.3.2 作實 表頭 頁首 行首 內容 行尾 頁尾 最後的頁尾 總和等、用來計算 在工作視窗中,可以看到其中有 Title ,PageHeader ……等等的橫條的方格。 Title : 報表的表頭。 PageHeader : 報表的頁首。 ColumnHeader : 報表的行首,通常用來定義行的欄位名稱。 Detail : 報表的內容。 ColumnFooter : 報表的行尾,可用來告知報表的一些參數,諸如頁碼等。 PageFooter : 報表的頁尾。 LastPageFooter : 最後頁的頁尾。 Summary : 用來計算用。 此頁,即秀出以 iReport 實作的畫面定義。 seatof@gmail.com http://blog.yam.com/wing007 6 箱信 鈞智范 格落 部
  • 7. iReport iReport版本:1.3.2 作實 若是,正要實作的報表比較簡單,可能某些是不需要的分類,則可以按下滑鼠的 右鍵,即會出現 的 pop 式選單,請選擇 [Band properties]。 點下後即會出現上圖,比如要將 PageHeader 的頁首不要顯示出來,即將 [Band Height] 的高度 設為 [ 0 ] 最後 按 [x] 。 , 後離開 則 PageHeader 就 , 不會顯示在 工作區域上。 seatof@gmail.com http://blog.yam.com/wing007 7 箱信 鈞智范 格落 部
  • 8. iReport iReport版本:1.3.2 作實 二、常用按鈕 :直線工具,可用這個來區分出如報表的區域呈現。 :矩形工具,以矩形方塊來繪出的。 :圓型工具,可畫出圓形。 :靜態文字,例如前二頁的“服務報價單”,即是用靜態文字顯示的。 :動態文字,可顯示如由資料庫取出的資料值。 :圖形工具,可以將圖形檔來加入報表。 :編寫 SQL Script 語法敘述的地方。 seatof@gmail.com http://blog.yam.com/wing007 8 箱信 鈞智范 格落 部
  • 9. iReport iReport版本:1.3.2 作實 三、建立連接資料庫的方式 設定 classpath 的驅動 1. 先設定 classpath 2. 新增 JAR 檔 3. 根據你要連的資料庫加入他的 JAR 檔 例如 oracle 就需要 ojdbc14.jar ※ 可以到下面的網頁去抓 http://download123.mediafire.com/mzn2j2cdodwg/aycyo9bgtzt/ojdbc14.jar seatof@gmail.com http://blog.yam.com/wing007 9 箱信 鈞智范 格落 部
  • 10. iReport iReport版本:1.3.2 作實 設定資料庫聯結 點資料→連結/資料來源 1. 新增 2. 選擇你要的連線方式→再按 NEXT 3. seatof@gmail.com http://blog.yam.com/wing007 10 箱信 鈞智范 格落 部
  • 11. iReport iReport版本:1.3.2 作實 設定資料庫的連結細節 4. name:新建連線的名稱 JDBC Driver:你要用的驅動選擇(我用 oracle) JDBC URL:自動顯示 URL Sever Address:IP 位置或資料庫位址(我用本端位置) Database:資料庫名稱 (我用的是 XE) 下按得記 到改修動自會他 到改修動自會他 <TIP>記得按下 Wizard URL 下按得記 下按得記 到改修動自會他 到改修動自會他 User Name:資料庫專案的名稱 Password:資料庫專案的密碼 按下測試連線會顯示是否成功 5. seatof@gmail.com http://blog.yam.com/wing007 11 箱信 鈞智范 格落 部
  • 12. iReport iReport版本:1.3.2 作實 四、設計第一個 iReport 報表 首先設計您的工作區域,將不要的工作區將之 [Band Height] 設為[0],即可隱 藏 不要的區域。以本例,只留下 Title、ColumnHeader、Detail、ColumnFooter 這 幾 個工作區域。 再來 有了資料庫連線後 必需要指定這個 iReport 報表使用哪一個資料庫連線 , , 。 請選 [建立]→ [設定動態連結]。 選好後,請按 [確定] 繼續。 seatof@gmail.com http://blog.yam.com/wing007 12 箱信 鈞智范 格落 部
  • 13. iReport iReport版本:1.3.2 作實 再來,按下 按鈕,叫出編寫 sql 的畫面。 點選[Query designer] 選取對應的資料庫 (我選擇的是 PT 的資料庫) seatof@gmail.com http://blog.yam.com/wing007 13 箱信 鈞智范 格落 部
  • 14. iReport iReport版本:1.3.2 作實 對需要的 Table 點兩下或出現在右邊的視窗。 (我選擇 VENDER) 勾選需要用到的欄位,再按[OK]。 seatof@gmail.com http://blog.yam.com/wing007 14 箱信 鈞智范 格落 部
  • 15. iReport iReport版本:1.3.2 作實 顯示 SQL 與選擇的欄位跟型態,再按下[OK]即可。 來加入一個靜態文字。 seatof@gmail.com http://blog.yam.com/wing007 15 箱信 鈞智范 格落 部
  • 16. iReport iReport版本:1.3.2 作實 接著,按下滑鼠右鍵,會出 現如圖的功能表,請點選[屬性]來設定其它的屬性。 在這個靜態文字中,打入 “供應商清單” 五個中文字。 選擇 [Font] 來更改字型,如此一來,中文字才能完整的呈現。 其中 [Font name] 表示在 iReport 中所顯示的字體,可選擇細明體等。 [PDF font name] 則是在 Acrobat PDF Reader 中所顯示的字體,請選擇 MHei-Medium 字體。 另外,再於最下方的 [PDF Encoding] 中 設為 UniCNS-UCS2-H(Chinese traditional)的編碼,並將 [PDF Embedded] 打勾。 seatof@gmail.com http://blog.yam.com/wing007 16 箱信 鈞智范 格落 部
  • 17. iReport iReport版本:1.3.2 作實 接著請以相同的方法,在 ColumnHeader 中,將靜態文字的欄位一一補上。 配置的畫面如下圖: 到此為止,則完成了靜態文字的配置工作。 緊接著,要來配置真正的資料表中的內容。這個會與取出的 sql 語句相關。 SELECT VENDER.quot;VD_NOquot; AS VENDER_VD_NO, VENDER.quot;VD_NAMEquot; AS VENDER_VD_NAME, VENDER.quot;MANAGERquot; AS VENDER_MANAGER FROM quot;PTquot;.quot;VENDERquot; VENDER 這樣的 sql 語法,會取出 VENDER_VD_NO, VENDER_VD_NAME, VENDER_MANAGER 這三個欄位。那麼就在 Detail 的畫面上增加三個 TextField Tool 的工具。 請按 來增加 TextField Tool。如下圖所示: 拖曳 Library 中 Fields 內的欄位放入在表單中。 seatof@gmail.com http://blog.yam.com/wing007 17 箱信 鈞智范 格落 部
  • 18. iReport iReport版本:1.3.2 作實 到此,可以先以 iReport 來進行測試。 在畫面的右手邊,有這三個一組的小圖示,左邊的是編譯這個 iReportXml 的檔案,中間的是跑出畫面的靜態文字處理,不包含資料庫部份; 最後一個則是編譯並讀出資料庫的內容。 可以選擇使用 JRViewer 來進行結果預覽。或是使用 Acrobat PDF Reader 進行預覽。 若要以 Acrobat PDF Reader 來進行預覽時,還必需另外設定外部程式路徑。 請選擇 [工具]→[選項]。會開出選項的視窗。 seatof@gmail.com http://blog.yam.com/wing007 18 箱信 鈞智范 格落 部
  • 19. iReport iReport版本:1.3.2 作實 請選擇 [External Programs]並指向 Acrobat PDF Reader 的執行程式路徑即可。 若出現以下的畫面,代表成功的做出報表。 seatof@gmail.com http://blog.yam.com/wing007 19 箱信 鈞智范 格落 部
  • 20. iReport iReport版本:1.3.2 作實 五、更進階的報表設計 接著,再來設計一個 iReport 很重要的技巧,即是“報表參數”。可由外部傳入 iReport 作為參數。即可以使用程式語言,來控制 iReport 的輸出格式。 選擇報表參數後[Parameters],按下新增。 seatof@gmail.com http://blog.yam.com/wing007 20 箱信 鈞智范 格落 部
  • 21. iReport iReport版本:1.3.2 作實 請在[Parameter name]輸入“testDay”,這個即是我們希望外部傳入日期。 [Parameter class type] 請選擇 “java.lang.String”, [Default value expression] 請輸入 “1900/1/1”,此為預設值。 接著,請將列印日期的 TextFiled 的屬性更改為: [Textfield Expression Class] 設為“java.lang.String”,[Evaluation time] 設為 “Now”,[Textfield expression] 設為“$P{rptToday}”,同理,若該欄位接受後, 字體顏色會轉為綠色,若不接受,則是呈現藍色。 seatof@gmail.com http://blog.yam.com/wing007 21 箱信 鈞智范 格落 部
  • 22. iReport iReport版本:1.3.2 作實 加入 Parameter 的輸出結果。 seatof@gmail.com http://blog.yam.com/wing007 22 箱信 鈞智范 格落 部
  • 23. iReport iReport版本:1.3.2 作實 參、編譯器設計與 iReport 關聯 一、檢查所需的檔案 我們的環境需要再加入幾個 Lib 在我們的環境,如此才能編譯。 這幾個 jar 在安裝 iReport 後在他的 lib 資料中可以找到。 (C:Program FilesJasperSoftiReport-1.3.2lib) itext-1.3.1.jar jasperreports-1.3.2.jar xml-apis.jar iTextAsian.jar (另外下載) 可以透過下面的兩個網址去下載 Ahttp://pics5.webs-tv.net/5/attachfile/9/3/7/739938/1/1465930828f2c3.zip Bhttp://sourceforge.net/project/downloading.php?groupname=itextpdf&fil ename=iTextAsian.jar&use_mirror=nchc (抓下來的副檔名為.zip 把它改成.jar 就可以使用) 註:iTextAsian.jar 為亞洲字型類別檔,若未將之引入使用,會發出如下的錯誤: Could not load the following font;pdfFontName: MHei-Medium; pdfEncoding:UniCNS-UCS2-H;isPdfEmbedded:false seatof@gmail.com http://blog.yam.com/wing007 23 箱信 鈞智范 格落 部
  • 24. iReport iReport版本:1.3.2 作實 把這幾個 jar 檔放入專案中 WebRoot/WEB-INF/lib 中 就可以跟 iReport 做關聯 seatof@gmail.com http://blog.yam.com/wing007 24 箱信 鈞智范 格落 部
  • 25. iReport iReport版本:1.3.2 作實 二、撰寫報表程式 這是編譯器與 iReport 的 Solution,我們必須先做幾個步驟才能完成此流程。 對應的bean 搭配iReport 前端JSP頁面 執行程式 的範本檔 按下匯出報表 並做參數設定 匯出PDF檔 並在前端顯示 第一步-製作範本檔(檔名:AR_002) 然後編譯製作好的 iReport,他會編繹出新的檔案 AR_002.jasper,並把這個檔案 放入專案下的 reportSample 當中。 原始檔為 AR_002.jrxml,他是一種 XML 的格式,可以檢視看原始碼。 seatof@gmail.com http://blog.yam.com/wing007 25 箱信 鈞智范 格落 部
  • 26. iReport iReport版本:1.3.2 作實 第二步-UI 上的 FO 新增 method 增加 browse 頁面按鈕,panelGrid 中新增 function 與 trigger。 完成後編譯 seatof@gmail.com http://blog.yam.com/wing007 26 箱信 鈞智范 格落 部
  • 27. iReport iReport版本:1.3.2 作實 第三步-前端頁面執行報表 執行 Bean 中新增的 method public void genReport() { //參數設定 getQuotation_no() Map parameters = new HashMap(); parameters.put(quot;QUO_NOquot;, this.IOso_quotations_sc.getQuotation_no_sc()); iReport 內參 對應到 search 的 數的名稱 method //告知編譯器對應的檔案名稱,並把參數傳入 this.reportUrl = sys.getReport(quot;AR_002quot;,parameters); 範本檔的 傳入上面 檔案名稱 的參數 } seatof@gmail.com http://blog.yam.com/wing007 27 箱信 鈞智范 格落 部
  • 28. iReport iReport版本:1.3.2 作實 第四步-報表 pdf 在頁面顯示 seatof@gmail.com http://blog.yam.com/wing007 28 箱信 鈞智范 格落 部