欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

非常全面的IReport的使用教程

 更新時間:2021年10月26日 11:02:47   作者:此成非彼誠  
iReport 是為JasperReports Library和JasperReports Server設(shè)計的報表可視化設(shè)計器。本教程給大家詳細介紹IReport的使用解析,感興趣的朋友一起看看吧

簡介

iReport 是為JasperReports Library和JasperReports Server設(shè)計的報表可視化設(shè)計器。

iReport是一個能夠創(chuàng)建復(fù)雜報表的開源項目。它100%使用Java語言編寫。是目前全球最為流行的開源報表設(shè)計器。

由于它豐富的圖形界面,你能夠很快的創(chuàng)建出任何一種你想要的報表。

用于打印的數(shù)據(jù)可以通過多種方式獲取包括:JDBC, TableModels, JavaBeans, XML,Hibernate(支持HQL查詢語言), CSV等。

它支持多種輸出格式包括:PDF,RTF,XML,XLS,CSV,HTM。

安裝環(huán)境

本教程環(huán)境如下,如版本不同出現(xiàn)與本文內(nèi)容不合情況請自行百度~

版本

iReport:版本5.0.0

JDK環(huán)境:版本1.6,全名:jdk1.6.0_45,即下載jdk-6u45-windows-x64.exe

注意事項

需要本機/虛擬機的JDK環(huán)境變量設(shè)置為JDK1.6才能運行iReport,環(huán)境變量怎么設(shè)置應(yīng)該不必多說了吧,忘了的可以看我這篇博文:win7/win10下的jdk的安裝和環(huán)境變量的配置

環(huán)境變量配置好后如果還是打不開iReport,請重新啟動電腦

樓主不才,如有錯誤之處,請評論必虛心改之

百度云下載地址

鏈接: https://pan.baidu.com/s/140AioMEZi6N4cedYXl4sjw

提取碼: yujq

失效請聯(lián)系樓主

基本操作

 新建

1.左上角文件——》new

QQ截圖20200927085054

  • 一般選擇A4紙張,而且是豎的A4,根據(jù)實際情況選擇其他類型紙張大小
  • 再選擇 Open this Template 打開此模板

2.對模板進行命名

QQ截圖20200927090431

  • Repoet name:模板名
  • Location:文件存放地址
  • File:模板文件全路徑(Location\Repoet name.jrxml)
  • 下一步

3.finish完成新建

QQ截圖20200927090857

頁面布局

1.打開模板可以看到這樣的視圖

QQ截圖20200927093724

  • 紅框標出來的是頁邊距,和word中的頁邊距一樣,是內(nèi)容與紙張的距離
  • Title:標題,僅在第一頁顯示一次
  • Page Header:頁眉,每頁出現(xiàn),可用于放頁碼,創(chuàng)建人等信息,值可變
  • Column Header:列頭部信息,每頁出現(xiàn),一般不用
  • Detail:內(nèi)容信息(使用重點),可添加多個Detail,控件基本上放在Detail中,它會自動根據(jù)體內(nèi)的內(nèi)容大小進行擴展、分頁
  • Column Footer:列底部信息,每頁出現(xiàn),一般用于統(tǒng)計列數(shù)據(jù)。
  • Page Footer:頁腳,每頁出現(xiàn),可用于放頁碼,創(chuàng)建人等信息,值可變
  • Last Page Footer:最終頁腳,最后一頁顯示,一般用于顯示編制人等信息
  • Summary:總結(jié),最后一頁顯示,一般用于顯示所有頁面的統(tǒng)計

2.刪除和添加頁面布局

QQ截圖20200927095821

  • 可以看到上方所解釋的布局在此處都有其顯示,灰色的代表這個布局不啟用
  • 刪除布局:右鍵點擊一個啟用的布局——》Delete Band
  • 添加布局:右鍵點擊一個可以添加的布局(一般添加Detail)——》Add Another
  • Detail Band啟用布局:右鍵點擊一個未啟用的布局——》Add Band

style樣式

和前端的css一樣,為了樣式復(fù)用,減少繁瑣的樣式操作,每個樣式都可以繼承另一個樣式,繼承的樣式?jīng)]有本身樣式的優(yōu)先級高

中文支持必備

右鍵點擊Styles——》添加一個style名為china

QQ截圖20200930125019

  • pdf font name:STSong-Light
  • Pdf Embedded:√
  • pdf Encoding:UniGB-UCS2-H
  • default style:√

比較常用的屬性

  • Padding and borders:設(shè)置內(nèi)邊距和邊框
  • Font name:字體
  • Size:字體大小
  • Horizontal Alignment:水平方向所處位置
  • Vertical Alignment:垂直方向所處位置
  • Line Spacing:行距
  • Blank when null:勾選后如果傳入的數(shù)據(jù)是空的,不會顯示null,而是空白

基礎(chǔ)控件

右上角有控件列表,使用只需要拖進布局視圖即可

image-20200928095840391

Break:分頁符

其中的Page Break 表示在此之下建立一個新的分頁,相當于word的分頁符

舉例:

在第二頁1前放一個分頁符:

image-20200928104442163

查看預(yù)覽效果:

QQ截圖20200928104605

QQ截圖20200928104702

分頁符后就是這一頁的結(jié)束,分頁優(yōu)先級高于detail自動分頁

Ellipse、Round Rectangle、Line、Rectangle:圖形

四個圖形控件:

  • Ellipse:橢圓
  • Round Rectangle:圓角方形
  • Line:橫線
  • Rectangle:方形

都可組合其他控件,但操作過復(fù)雜,不推薦

示例:

QQ截圖20200928105927

Static Text:靜態(tài)文本

靜態(tài)文本,不具備自擴展能力,意思是框子有多大,顯示的內(nèi)容就多大,多余的內(nèi)容不顯示

示例:

image-20200928110433029

QQ截圖20200928110506

預(yù)覽:

QQ截圖20200928110553

Text Field:文本域

文本域

  • 具備自擴展能力,不管框子多大,都會完整顯示
  • 具備使用數(shù)據(jù)參數(shù)能力,使用方法:$F{導(dǎo)入的字段名}

文本域?qū)懛ǎ?/strong>

點擊屬性中的Text Field Experssion可對文本域進行編輯

QQ截圖20200928112752

字符串需要放到""

  • 字符串需要放到""中
  • 可使用加號(+),進行字符串拼接
  • 調(diào)用Paramters:$P{參數(shù)名}
  • 調(diào)用Fields:$F{數(shù)據(jù)庫字段名}
  • 調(diào)用Variables:$V{變量名}
  • 可使用基礎(chǔ)運算,如三元運算

使用自擴展,需改變兩個屬性:

image-20200928111508904

示例:

image-20200928113003603

預(yù)覽:

image-20200928113037254

Image:圖片

圖片,可選本地文件或者網(wǎng)絡(luò)URL,一般使用網(wǎng)絡(luò)URL

示例:

QQ截圖20200928154120

  • Image Expression:就像文本域一樣使用,可從數(shù)據(jù)庫拿數(shù)據(jù)填充,放入圖片URL
  • Scale Image:選擇Real size或者Real height會保持原圖的比例,選擇Retain Shape會隨著圖片框的大小改變圖片的大小
  • Using Cache:啟用圖片緩存,可以看到URl內(nèi)的圖片樣子

預(yù)覽:

QQ截圖20200928154755

Barcode:條形碼

條形碼,一般選取Code128條形碼

QQ截圖20200928161101

  • Code Expression:就像文本域一樣使用,可從數(shù)據(jù)庫拿數(shù)據(jù)填充,放入條形碼內(nèi)容
  • Orientation:條形碼方向,none就是正方向,left就是把條形碼順時針轉(zhuǎn)90°,以此類推
  • Text Position:條形碼內(nèi)容顯示,Bottom就是在條形碼下方顯示,None就是不顯示
  • Module Width:條形碼的長度,是以倍數(shù)增加的長度

示例:

QQ截圖20200928161846

table 和 subreport之后介紹

連接數(shù)據(jù)庫-使用table與subreport

導(dǎo)入驅(qū)動

1.尋找驅(qū)動

以導(dǎo)入Oracle驅(qū)動為例,Mysql驅(qū)動iReport已存在

首先去能連入生產(chǎn)數(shù)據(jù)庫的項目看看,用的是哪個版本的驅(qū)動,然后從Maven倉庫中找到Oracle驅(qū)動的jar包

比如我這個版本的Oracle驅(qū)動

image-20200928164457423

懶的找的童鞋去maven官網(wǎng)下個jar包:https://mvnrepository.com/artifact/com.oracle/ojdbc6/11.2.0.3

2.放入bin

把驅(qū)動包放到iReport的安裝目錄\iReport-5.0.0\bin

3.點擊左上角的工具——》選項——》Classpath——》Add JAR

image-20200928170326122

4.找到剛剛放入bin的驅(qū)動包添加進去,確定,驅(qū)動添加完成

創(chuàng)建連接

1.點擊此圖標

QQ截圖20200928170134

2.點擊new——》Database JDBC connection

QQ截圖20200928170903

3.選擇剛剛導(dǎo)入的oracle驅(qū)動,URL、用戶名、密碼自行填寫

QQ截圖20200928171026

4.點擊Test,連接成功則Save,失敗則是某個環(huán)節(jié)出問題了

QQ截圖20200928171956

5.選擇此連接,創(chuàng)建連接成功

編輯sql語句

有了連接,我們就需要查詢數(shù)據(jù)庫的sql語句了,這里分為主查詢和子查詢,都可要參數(shù)可不要參數(shù)

主查詢

1.點擊上方的按鈕

QQ截圖20200928171617

2.添加sql

我連接的是本地oracle,查的表是一張測試用戶表

可以點擊 Read Fields 查看查詢到的字段

這個sql是個全查sql且沒有條件,我們給它加一個name條件

QQ截圖20200928172713

3.添加條件和其參數(shù)

image-20200928173009312

name是String類型的,新建的參數(shù)也需要此類型

QQ截圖20200928173136

點擊ok,完成一個帶條件的主查詢sql語句

4.測試主查詢

主查詢一般用于整體布局中的參數(shù)填入,也就是可以把剛剛查出來的那幾個字段的值插入到我們設(shè)計的頁面中

可以從Fields看到可以選擇的字段名

QQ截圖20200929090455

用Text Field來插入字段值

QQ截圖20200929090910

預(yù)覽:

因為需要傳入?yún)?shù),所以預(yù)覽需要一個name的條件參數(shù)值

QQ截圖20200929090943

輸入?yún)?shù)后,可得到預(yù)覽頁面

QQ截圖20200929091213

子查詢(較難)

很多時候并不是一個主查詢的一個sql語句就能查到所有想要的數(shù)值,那么可以新建多個子查詢

子查詢同樣可以通過條件參數(shù)來查詢,可以新建一個條件參數(shù),也可以使用主查詢同名的條件參數(shù)

1.新建一個dataset

QQ截圖20200929091815

一般是單數(shù)據(jù)源,所以選擇創(chuàng)建空的dataset

QQ截圖20200929092014

2.設(shè)置sql

QQ截圖20200929092313

還是熟悉的界面,還是熟悉的操作,傳入的參數(shù)名取和主查詢一樣的名字——name,這樣只需要輸入一次name的值子查詢也可查詢完畢

特別注意的是,記得給字段取別名,不要都叫一樣的名字,不僅自己容易混淆,程序也容易出錯

QQ截圖20200929094015

3.使用子查詢——table

例子中的主查詢返回值只有0個或1個對象,而子查詢可以返回多個對象(列表),這時候可以使用table了

拖一個table到一個單獨的detail中,這樣detail會自適應(yīng)table

選擇table所用的dataset,剛剛的創(chuàng)建t1

QQ截圖20200929095104

選擇需要顯示的字段,一般全選

QQ截圖20200930094416

選擇連接的數(shù)據(jù)源,一般是一個數(shù)據(jù)源,也就是創(chuàng)建連接中的那個數(shù)據(jù)源

QQ截圖20200930094516

如果是第一次創(chuàng)建table,勾上這個,會為表頭\表尾、表列頭\表列尾、表邊框、表內(nèi)容各創(chuàng)建一個style

QQ截圖20200930094742

表介紹

QQ截圖20200930095102

Table Header\Table Footer:表頭\表尾Column Header\Column Footer:表列頭\表列尾Detail:表內(nèi)容

style介紹

QQ截圖20200930094940

table:表整體(相當于圍了一圈邊框)table_TH:表頭\表尾(第一行/最后一行)table_CH:表列頭\表列尾(第二行/倒二行)table_TD:表內(nèi)容(除此之外的行)

最終是這樣展現(xiàn)的

QQ截圖20200930100429

終極丑有木有?明明只想要最原始的表格就好了,太花花綠綠了

刪除除了有字段的所有其他行

QQ截圖20200930101028

將Table、Column Header、嵌入的Text Field、Static Text的樣式全部選擇為table_TD,再拉長Text Field、Static Text占據(jù)列長

QQ截圖20200930101445

此時表就創(chuàng)建好了,這個表是根據(jù)子查詢dataset t1的數(shù)據(jù)來填入信息的,t1是需要傳入一個參數(shù)的,這個參數(shù)的值我們需要去指定,右鍵Table——》Edit Table datasource

QQ截圖20200930113924

t1子查詢需要一個name參數(shù)的值,這個值可以從輸入?yún)?shù)(如 P N A M E ) 取 , 也 可 以 自 己 去 設(shè) 定 ( 如 " c i c h e n g " ) , 還 可 以 從 主 查 詢 的 字 段 值 中 取 ( 如 P{NAME})取,也可以自己去設(shè)定(如"cicheng"),還可以從主查詢的字段值中取(如 PNAME)取,也可以自己去設(shè)定(如"cicheng"),還可以從主查詢的字段值中?。ㄈ鏔{NAME})

QQ截圖20200930123320

布局:

QQ截圖20200930123548

預(yù)覽:

QQ截圖20200930123621

表格這個屬性記得改成這個:

可以達到?jīng)]數(shù)據(jù)也可以有表頭的效果

image-20200930130327417

子模板subreport

相當于再新建了一個模板,但主模板包含這個子模板

子模板本身也具備所有主模板的特性,擁有主查詢和子查詢,層層套娃

示例暫且先鴿了,因為以上內(nèi)容足以完成模板的布局與樣式,之后會繼續(xù)更新~

本人原創(chuàng)內(nèi)容,如需轉(zhuǎn)載,請聯(lián)系一下我~

到此這篇關(guān)于非常全面的IReport的使用的文章就介紹到這了,更多相關(guān)IReport使用內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • SpringBoot結(jié)合Vue實現(xiàn)投票系統(tǒng)過程詳解

    SpringBoot結(jié)合Vue實現(xiàn)投票系統(tǒng)過程詳解

    這篇文章主要介紹了SpringBoot+Vue框架實現(xiàn)投票功能的項目系統(tǒng),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)吧
    2022-09-09
  • HashMap底層數(shù)據(jù)結(jié)構(gòu)詳細解析

    HashMap底層數(shù)據(jù)結(jié)構(gòu)詳細解析

    這篇文章主要介紹了HashMap底層數(shù)據(jù)結(jié)構(gòu)詳細解析,HashMap作為開發(fā)中常用的數(shù)據(jù)結(jié)構(gòu),也是面試中經(jīng)常被問的知識點,因此作為開發(fā)者應(yīng)該盡可能多的理解其底層的數(shù)據(jù)結(jié)構(gòu),需要的朋友可以參考下
    2023-11-11
  • Java getResource()如何獲取class文件目錄位置

    Java getResource()如何獲取class文件目錄位置

    這篇文章主要介紹了Java getResource()如何獲取class文件目錄位置,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-12-12
  • 關(guān)于SpringBoot+Mybatis報MapperScan.factoryBean()問題

    關(guān)于SpringBoot+Mybatis報MapperScan.factoryBean()問題

    解決SpringBoot+Mybatis中的MapperScan.factoryBean()問題,讓你的項目運行更順暢!本指南將帶你一步步解決這個問題,讓你的開發(fā)過程更加高效,不要錯過這個實用指南,快來一探究竟吧!
    2024-02-02
  • Spring中校驗器(Validator)的深入講解

    Spring中校驗器(Validator)的深入講解

    Spring校驗器,參數(shù)校驗從此簡單。下面這篇文章主要給大家介紹了關(guān)于Spring中校驗器(Validator)的相關(guān)資料,文中通過示例代碼介紹非常詳細,需要的朋友可以參考借鑒,下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2018-06-06
  • Java開發(fā)者結(jié)合Node.js編程入門教程

    Java開發(fā)者結(jié)合Node.js編程入門教程

    這篇文章主要介紹了Java開發(fā)者結(jié)合Node.js編程入門教程,我將先向您展示如何使用Java EE創(chuàng)建一個簡單的Rest服務(wù)來讀取 MongoDB數(shù)據(jù)庫。然后我會用node.js來實現(xiàn)相同的功能,需要的朋友可以參考下
    2014-09-09
  • Java中的異常和處理機制實例詳解

    Java中的異常和處理機制實例詳解

    這篇文章主要介紹了Java中的異常和處理機制,結(jié)合實例形式詳細分析了Java異常與處理機制的相關(guān)概念、原理、用法及操作注意事項,需要的朋友可以參考下
    2019-05-05
  • java 歸并排序的實例詳解

    java 歸并排序的實例詳解

    這篇文章主要介紹了java 歸并排序的實例詳解的相關(guān)資料,需要的朋友可以參考下
    2017-07-07
  • Maven項目修改JDK版本全過程

    Maven項目修改JDK版本全過程

    這篇文章主要介紹了Maven項目修改JDK版本全過程,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-03-03
  • Spring循環(huán)依賴的三種方式(推薦)

    Spring循環(huán)依賴的三種方式(推薦)

    本篇文章主要介紹了Spring循環(huán)依賴的三種方式,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-01-01

最新評論