1前言
最近項目中有做報表的需求,在同事推薦下使用了JasperReport技術開發相應報表模塊。藉此機會,一邊學習,一邊記錄。
2下載jaspersoft studio編輯器
到JasperReport官網下載 https://community.jaspersoft.com/community-download
3示例(靜態文本)
3.1打開安裝後的編輯器新建一個project, 步驟: File -> New -> Project-> JasperReports Project
3.2新建一個Jasper Report模板,在 Stidio的左下方Project Explorer 找到剛纔新建的Project (我這裏新建的是MyReports),步驟:項目右鍵 -> New -> Jasper Report
3.3 點擊 Finish ,生成一個報表模板
如圖所示,報表模板被垂直的分層,沒個層級都有不同的特點。
Title(標題):只在整個報表的第一頁的最上端顯示。只在第一頁顯示,其他頁面均不顯示。
Page Header(頁頭):在整個報表中每一頁都會顯示。在第一頁中,出現的位置在 Title Band的下面。在除了第一頁的其他頁面中Page Header 的內容均在頁面的最上端顯示。
Column Header(列頭):Detail中打印的是一張表的話,這Column Header就是表中列的列頭。
Detail 1(內容詳細):報表內容,每一頁都會顯示。
Column Footer(列腳):Detail中打印的是一張表的話,這Column Footer就是表中列的列腳。
Page Footer(頁腳):在整個報表中每一頁都會顯示。顯示在頁面的最下端。一般用來顯示頁碼。
Summary(統計):表格的合計段,出現在整個報表的最後一頁中,在Detail 1 (內容詳情)後面。主要是用來做報表的合計顯示。
Studio的outline顯示模板結構:
元素 | 名稱 | 描述 |
---|---|---|
Style | 樣式 | 可以創建全局樣式,在表格處用的比較多 |
Parameters | 參數 | 由外面傳遞到裏面的參數,一般指用HashMap,也可以向子報表傳參 |
Fields | 字段 | 映射字段 |
Scriptlets | 腳本 | |
Sort Fields | 有序字段 | 有序的映射字段 |
Title | 標題 | 除了第一頁,其他頁都不展示 |
Page Header | 頁頭 | 每頁都會展示,在頁面上部 |
Column Header | 列頭 | 表中列的列頭 |
Detail | 內容區 | 重複出現的內容在此展示 |
Column Footer | 列腳 | 表中列的裂腳 |
Page Footer | 頁腳 | 每頁都會展示,在頁面下部 |
Last Page Footer | 最後一頁頁腳 | 只在最後一頁展示 |
Summary | 統計區 | 報表最後一頁中,一般用來統計 |
No Data | ||
Background | 背景 | 設置報表的背景樣式 |
Studio的Properties顯示模板參數:
Report Name : 模板名稱,注意,如果你複製了一份模板文件,這個地方是沒有修改的。
Description : 模板描述,這個模板文件是幹什麼的,起註釋作用。
Language : 有三種 Java | groovy | javascript, 這裏指定報表表達式使用的語言。
Imports : 引入其他包,自定義,或者第三方
Format Factory Class : 翻譯 (指定實現要與此報表一起使用的接口的類的名稱。如果省略,將創建的實例)
When No Data Type: (當打印的報表數據源中沒有數據的情況下,也就是數據源爲空的情況下)
null: 默認,不選擇。
No Pages: 不打印數據。
Blank Pages:返回一個空白的頁面。
All Sections No Detail: 打印除了Detail 之外的所有頁面。
No Data Section: 把No Data的Band 的也打印出來。
Report 屬性 | 描述 |
---|---|
Title On A New Page | 表示 Tilte Band 單獨一頁打印。 |
Summary On A New Page | 表示 Summary 單獨一頁打印。 |
Summary With Page Header And Footer | 表示在Sumnmary最後一頁,也顯示Header頭 和 Footer腳 |
Float Column Footer | 在最後一頁,Column Foot(列腳)是否緊挨着最後一個Details |
Ignore Pagination | 忽略分頁 |
Create bookmarks | 創建書籤 |
3.4在Studio的右側組件面板(Palette)找到靜態文本組件(Static Text)
把它拖入到 Detail 1 Band中。並寫入文字。
Source可以看到Jrxml文件源碼;Preview可以預覽.