一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - Java教程 - iReport使用教程(示例教程)

iReport使用教程(示例教程)

2022-02-27 15:29Java教程網 Java教程

在使用ireport的過程中,因為各種功能都要百度,但是大家使用的例子又千差萬別讓人很苦惱,所以用一個簡單例子貫穿的展示一下ireport的常見功能

在使用ireport的過程中,因為各種功能都要百度,但是大家使用的例子又千差萬別讓人很苦惱,所以用一個簡單例子貫穿的展示一下ireport的常見功能。

iReport簡介

說到iReport不得不先介紹Jasperreport,Jasperreport是一個報表制作程序,用戶需要按照它制定的規則編寫 一個XML文件,然后得到用戶需要輸出的格式文件。它支持輸出的文件格式包括PDF,HTML,XML,XLS,CVS等等。而iReport就是一個制 作Jasperreport的XML文件的可視化開發工具。只是一個UI。

我使用的是iReport 3.5.1,使用的示例數據表如圖:

sales表:(人名、大致結構來自帆軟電子文檔,如有雷同,無意冒犯)

iReport使用教程(示例教程)
iReport使用教程(示例教程)

sellers表:

iReport使用教程(示例教程)
iReport使用教程(示例教程)

下面開始介紹:

報表結構
iReport使用教程(示例教程)
左邊是view區,聯系著主設計區中的各個band區域的數據,以及參數、變量等。中間是主設計區,通過拖拽控件面板可以在此區域進行設計,有三種模式:設計(Designer)、源碼(Xml)、預覽(Preview),設計模式是可視的,源碼方式可以直接在上修改,預覽是對設計好的報表樣式進行預覽,也是一個編譯的過程;右邊是控件面板和屬性面板,可以在此使用控件和設置屬性。
JasperReport有三個方式來保持數據:Field、Paramrter、Variables。
一般情況下,Field是用作保存從數據源取出來的數據,用法是iReport使用教程(示例教程)
Parameter是用來占位―我們在設計時往往不知道具體的值,那么用一個參數來占住它們的位置,在執行時,從程序或者數據庫中傳遞對應的參數過來,從而實現一個動態的過程,用法是iReport使用教程(示例教程)
Variables是變量,可以將變量用于TextFild表達式中,也可以設置它的屬性,使它具有一些功能,如求和,求平均數等,用法是iReport使用教程(示例教程)

數據源
ireport提供很多種數據源的連接方式,
點上方的數據庫標識就可以設置數據庫,下方的數據標識用來寫SQL語句獲取數據。
iReport使用教程(示例教程)

我們這里選擇jdbc數據連接,mysql連接語句,數據庫名稱是test
iReport使用教程(示例教程)

test一下是否連通,輸入數據庫密碼以后,如果成功會出現提示:
iReport使用教程(示例教程)

示例
3.1 簡單示例
首先連接數據庫表sales:
iReport使用教程(示例教程)
點擊ok,這時左側view窗口的field區域就得到了取到的數據:
iReport使用教程(示例教程)
這時,在主設計區域拖拽靜態文本控件:iReport使用教程(示例教程)在column header區域添加列名,然后拖動左側的field字段到detail域相應的列名下:
iReport使用教程(示例教程)
iReport使用教程(示例教程)

3.2 分組示例
有時候我們需要分組來觀察數據,這時就需要group,我們以區域id來分組,需要注意的是,如果使用group分組,需要在一開始的sql語句中加上order by語句,否則ireport是不會自動分組的。

右鍵添加一個分組:
iReport使用教程(示例教程)

接下來會有一個向導,我們根據向導一步步操作:
iReport使用教程(示例教程)

然后下一步,完成。
iReport使用教程(示例教程)

3.3 子表方式分組查看
如果不想在sql語句中增加order by語句,那么可以使用子表的方式進行分組查看,例如我想在父報表master.jasper中查看子報表sub_report.jasper的信息,需要用到銷售情況表sales和員工情況表sellers以及子報表控件和一個參數 area_id。
首先建立子表員工信息表sub_report.jasper,新建一個參數,作為連接兩個表的橋梁:area_id,參數的屬性設置如圖
iReport使用教程(示例教程)
主要是要把parameter class設置成與數據庫表中同樣的類型以防出錯。

然后為sub_report綁定數據庫表,此時需要注意SQL語句中需要包含我們設定的參數 $P{area_id}
iReport使用教程(示例教程)

接下來,我們preview一下,這時需要給一個參數測試,假使我們給定1,結果如圖:
iReport使用教程(示例教程)

這說明分組已經成功,我們下一步需要把子表與父表連接起來。
同樣需要新建一個報表文件master.jasper,為方便查看,將區域名稱拖入detail區域備用。

iReport使用教程(示例教程)

拖拽子表控件,根據向導完成子表屬性設置
(1)選擇已有子表,注意是選擇編譯后的文件,sub_report.jasper,而非sub_report.jrxml。如果先建父表,在這里選擇創建子表,按照向導創建子表,流程如上。

iReport使用教程(示例教程)

(2)使用內建連接參數表達式

iReport使用教程(示例教程)

(3)設定參數值為本報表中已存在的field域中的$F{area_id}

iReport使用教程(示例教程)

(4)存儲子表表達式,事實上,我將子表和父表已經放在同一個文件夾中所以不必使用絕對路徑法,只需存儲一個路徑名稱即可
iReport使用教程(示例教程)

完成,運行一下:
iReport使用教程(示例教程)
iReport使用教程(示例教程)

3.4 圖表示例
3.4.1 餅圖
針對 Pie圖表類型,有三個表達式需要我們輸入:Key,Value 和 Label。表達式 Key 允許你標識 Pie 圖里的一塊。如果 Key 的值出現重復, 那么 Label 和 Value的值會關聯起來用來覆蓋 Key 的值。一個 Key 值不能為 null。Value 的表達式值指定這個Key 的數字值。Label 表達式的值允許你為并圖中每一塊指定一個標簽。這個表達式的值是可選的,同時默認值為 key=value
首先拖動圖表控件,ireport支持多種圖表,因為示例的數據比較簡單,我們就只說餅圖和柱狀圖。
iReport使用教程(示例教程)
iReport使用教程(示例教程)

放好餅圖以后,右鍵chart data,設置圖表屬性
iReport使用教程(示例教程)

這里需要注意的是,value是用來表述你劃分餅圖關鍵詞的值,本例中,我們根據售貨員來銷售的蘋果汁來劃分餅圖,那么key就是售貨員,他的“值”,也就是蘋果銷售量就是value,value一般要求是數字類型。

iReport使用教程(示例教程)
如果我們將label表達式換成$F{apple},就會是如下效果:

iReport使用教程(示例教程)

個人認為還是后者比較直觀。

3.4.2 柱狀圖
過程和餅狀圖一樣,效果如下:
iReport使用教程(示例教程)
顯然更復雜的數據比較能體現到他的用處。

3.5交叉報表
有時候我們不僅需要縱向比較數據,也需要同時橫向進行比較,這就用到了交叉報表。
交叉報表需要用到空間crosstab
我們新建一個報表文件CrosstabTest,統計一下不同區域蘋果汁的銷售情況,綁好數據表后,拖拽交叉報表控件,根據向導設置:
首先選擇主報表數據集:
iReport使用教程(示例教程)

然后,設定行參數,我們選擇區域id作為分組依據,group2暫時不用。
iReport使用教程(示例教程)

接下來是列參數,選擇銷售人員作為分組依據。

iReport使用教程(示例教程)

然后是主區數據,我們主要是看不同區域不同銷售人員蘋果汁的銷售情況所以選擇apple,由于是計數,fuction選擇count即可。

iReport使用教程(示例教程)

最后是布局,crosstab控件會自動帶行總數列總數,可自選。

iReport使用教程(示例教程)

完成:

iReport使用教程(示例教程)

不在該銷售區域的會被標記為0.

此外,iReport還有獲取當前時間,獲取頁數等小工具可供使用,這些工具都是基于TextField可以更改表達式進行定義。當模板文件編譯后,可放至程序中使用,并進行參數傳遞。

這是我這一段對ireport的摸索,因為數據簡單,很多問題還沒有發掘出來,有錯誤和不足的地方歡迎一起討論改正。

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 亚洲酒色1314狠狠做 | 寡妇一级毛片 | free极度另类性欧美 | 日日本老女人 | 亚洲精品91大神在线观看 | 欧美人妖另类性hd | 欧美日韩国产在线人成 | 亚洲欧美日韩综合一区久久 | 精品视频免费在线观看 | 免费观看在线aa | 免费在线观看小视频 | 青青草国产精品久久久久 | 香蕉91视频 | 国产在线成人a | 欧美白人猛性xxxxx69交 | 欧美特黄特色aaa大片免费看 | 亚洲男人天堂网址 | 私人chinese beauty| 91天堂在线视频 | 亚洲精品九色在线网站 | 久久综合久综合久久鬼色 | 高h肉爽文农民工 | 成人福利在线视频免费观看 | 亚洲精品AV无码喷奶水糖心 | 国产日韩一区二区三区 | 91色爱| 俄罗斯妈妈k8影院在线观看 | 国产麻豆精品入口在线观看 | 日韩亚洲欧美理论片 | 日本高清视频在线免费观看 | 天天做天天爱天天爽综合网 | 日韩福利一区 | 日本大片免aaa费观看视频 | 亚洲精品乱码久久久久久蜜桃 | 国产深夜视频 | 日韩在线a视频免费播放 | 青青精品视频 | 国产欧美一区二区三区免费 | 双性np玩烂了np欲之国的太子 | 欧美一级片免费看 | 亚洲不卡视频在线 |