iReport的文件有兩種,一種是.jrxml源文件(類似.java),一種爲.jasper編譯文件(類似.class)。
在iReport裏進行編輯生成的文件即爲.jrxml文件。而當我們點擊預覽後就會生成.jasper文件。雖然後綴名是.jrxml,其實它也是一個XML文件,只是這個文件需要符合iReport的xsd標準,iReport也支持擴展自己的標籤,只是這樣自定義的標籤不支持拖拽,除非你實現它。
通過在iReport中設計.jrxml,我們可以將iReport支持的數據源(如jdbc,cvs,xml,javabeans,excel等)的數據,轉換爲我們想要的格式,導出爲HTML/EXCEL/WORD/PDF/FLASH等報表文件。
一、iReport 報表文件-基本屬性
分類 |
屬性名稱 |
功能描述 |
|
report name |
報表名稱 |
Page Size |
|
|
|
Page Width |
頁面寬度 |
|
Page height |
頁面高度 |
|
Orientation |
報表方向,可爲橫式或豎式,默認爲大衆的豎式 |
Margins |
|
|
|
Left margin |
頁面左端空白,單位px,默認20px |
|
Right margin |
頁面右端空白,單位px,默認20px |
|
Top margin |
頁面頂端空白,單位px,默認20px |
|
Bottom margin |
頁面底端空白,單位px,默認20px |
Columns |
|
|
|
Columns |
報表分爲幾列,默認爲一列。 |
|
Column Width |
每列的寬度 |
|
Column space |
列間空白 |
|
Print order |
打印方式-垂直/水平。默認垂直 |
More |
|
|
|
Scriptlet class |
自定義scriptlet,可在報表生成時自定義一些行爲。 |
|
Resource bundle |
報表所用資源文件,支持國際化 |
|
When Resource Missing Type |
當資源屬性未找到是,值爲什麼?可爲null,空白,報錯,element的key |
|
Query Text |
SQL查詢語句,也可在DataSet中設置。 |
|
The language for the dataset query |
SQL語句的類型,也可在DataSet中設置。比如普通SQL,Hibernate,MDX等 |
|
Filter Expression |
對SQL語句查詢的結果,再次進行過濾,用ireport expression 編寫,返回類型必須爲Boolean類型 |
|
Properties |
報表所支持的一些額外屬性設置 |
|
Title on a new page |
是否Title單獨佔用一頁 |
|
Summary on a new page |
是否Summary單獨佔用一頁 |
|
Summary with Page Header and Footer |
Summary中是否顯示Page Header 和 Page Footer |
|
Float column footer |
|
|
Ignore pagination |
是否不分頁,整個報表顯示在一頁中 |
|
Column Direction |
報表是居左還是居右顯示 |
|
When No Data |
當Main DataSet記錄爲0時,顯示什麼內容?可選項爲:1.除Details Band外的所有內容2.空白頁3.顯示NoData Band (可爲報表單獨定義該band,用於無數據時,進行信息提示)4.什麼都不顯示 |
|
Language |
該報表的expression的類型:可選項爲-java,groovy,javascript |
|
Format Factory Class |
可自定義Data 和 Number類型等的格式化方案,該類需繼承自XX類 |
|
Imports |
可以引用其他包,自定義或第三方等。例如org.myself.utils |
二、iReport 內容 - Bands
報表的內容,由很多Bands組成。我們要做的就是在這些Bands上繪製我們想要的文字,圖片,圖表,背景等。不同的Bands的屬性不同,需要分別根據需要去設置。
Band height |
band的高度 |
Print When xpression |
當表達式爲TRUE時,才顯示該Band |
Split Type |
可設置當內容超過當前Band高度時,是繼續顯示一部分,還是在新的一頁顯示完整內容。 |
b) 各個Band 的功能描述 :
Band Name |
功能描述 |
Title |
報表的標題,僅顯示一次,可設置爲單獨佔一頁。 |
Page Header |
每頁的頭部,在每頁都會顯示一次 |
Column Header |
每列的頭部,一般的情況下,我們將表頭設置在這裏。 |
XXX Group Header |
當報表中存在Group時,纔有此band。顯示在每個Group的開始位置。有多少個Group顯示多少次。一般將Group Name 顯示在這裏 |
Detail |
數據明細,每行數據在這裏顯示。有多少行數據,顯示多少次。 |
XXX Group Footer |
當報表中存在Group時,纔有此band。顯示在每個Group的結束位置。有多少個Group顯示多少次。一般將Group 彙總計算信息 顯示在這裏 |
Column Footer |
每列的底部,一般的情況下,將整個數據明細彙總信息顯示在這裏。 |
Page Footer |
每頁的底部,在每頁都會顯示一次 |
Last Page Footer |
最後一頁的底部,在最後一頁才顯示一次。 |
Summary |
彙總頁,僅在報表最後顯示一次,一般將整個報表的彙總信息顯示在這裏。 |
No Data |
當報表查詢記錄爲0時,可設置顯示該Band內容。比如可設置其內容爲:“當前查詢無數據,如有問題請聯繫XXXX.” |
Background |
整個報表的背景,比如我們給整個報表設置一個水印效果 |