JasperReport簡易入門教程

分類:IT技術 時間:2016-10-08

</pre>1、JasperReports簡介<p></p><p> </p><p><strong>1) JaspersoftCommunity Jasper 產品列表</strong></p><p>Ø  JasperReportsServer</p><p>Ø  JaspersoftStudio</p><p>Ø  <strong><span style="color:red">JasperReports Library</span></strong></p><p>Ø  JaspersoftETL</p><p>Ø  Visualize.js</p><p> </p><p> </p><p><strong>2) JasperReports介紹</strong></p><p>JasperReports是一個基於Java的開源報表工具,它可以在Java環境下像其它IDE報表工具一樣來制作報表。JasperReports 支持PDF、HTML、XLS、CSV和XML文件輸出格式。JasperReports是當前Java開發者最常用的報表工具。</p><p> </p><p> </p><p><strong>3) JasperReportsLicense授權</strong></p><p><span style="color:rgb(51,51,51)"> </span></p><p align="left">Provider:  <a target=_blank target="_blank" href=http://blog.csdn.net/dullchap/article/details/"http://www.jaspersoft.com/">JaspersoftCorporation

Category:

License:?? LGPL

?

即是說,可以免費使用JasperReports開發產品,而不公開產品源代碼。但有個前提:如果對JasperReports源碼進行了修改或衍生,則必須公開整個產品的源碼。

?

?

4)?官網網址:

http://community.jaspersoft.com/project/jasperreports-library

?

?

2、iReport工具簡介

?

iReport也是開源組織sf.net中的一款免費軟件,是為JasperReport設計的強大的,直觀的,易於使用的可視化報表設計器,采用純Java開發。這個工具允許用戶可視化編輯包含charts、圖片、子報表等的復雜報表。iReport 還集成了JFreeChart圖表制作包,允許用戶可視化地編輯XML(JasperDesign)文件。用於打印的數據可以通過多種方式獲取包括:JDBC,TableModels, JavaBeans, XML,Hibernate(支持HQL查詢語言), CSV等。它支持多種輸出格式包括:PDF,RTF,XML,XLS,CSV,HTM。

註意下載的iReport一定要與你所使用的JasperReport 版本相匹配

?

下載地址:

https://sourceforge.net/projects/ireport/files/?source=navbar

?

下載安裝後,可以iReport文件夾中,可以找到它對應的JasperReports library.

?

3、iReport報表繪制

?

不同版本的iReport在界面上會存在一些差異,以下文檔基於iReport-5.5.0編寫

?

1)?新建報表

?

?

?

?

【文件】à【New…】



選擇一個模版,【Openthis Template】


通過【Browse】選擇文件保存位置,並填寫報表名稱【Report name】

?


完成

?

?

?

?

?

?

?

?

?

2)?創建database Sources


點擊【ReportDatasources】圖標


【New】

?

?


選擇一個datasourcetype,這裏選【Database JDBC connection】


填寫數據庫連續的相關信息,並保存

勾選默認Datasources,並關閉窗口


3)?
設置報表主要SQL

?

?

?

?


輸入主要SQL,相應的結果集的列會出現在下方

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

4)?報表結構


5)?在Detail中使用SQL結果


6)?使用iReport內置變量

?

7)?使用報表外部參數

右鍵【Parameters】,選擇【添加Parameter】

?

?


通過右側的【屬性面板】修改參數名稱,並拖動到報表中


8)?使用Dateset 創建匯總報表 (次要SQL)

?


右鍵【報表名稱】(比如report_test002),選擇【Add Dataset】


填寫Dataset名稱,【下一步】

?


選擇DataSources,並填寫SQL語句

?

?

?

?

選擇要使用的列,並【下一步】


使用Group組自動Group up,也可通過SQL進行Group up

?

?

?

通過【窗口à組件面板】打開組件面板



拖動Chart圖標到報表中


選擇一個圖表類型,【OK】

?


選擇要使用的DataSet(比如上文剛剛創建的myDataSet1)

?

?

?

?

填寫Series描述


通過右側按鈕填寫橫坐標分組組名,即分組值

9)?預覽報表


通過【預覽】圖標查看報表結果

如果有外部參數,將會彈出提示框要求錄入


看到報表結果,可以通過【Designer】圖標返回到設計界面

?

10)編譯報表


通過【編譯】圖標,可以對報表進行編譯

編譯後,同個目錄下,可以找到編譯後的文件:

比如,report_test002.jasper

?

?

?

4、Java報表生成

?

1)?引用JasperReports Library

?

在Java Project中引入Jasper相關的jar包。(當然也需要DB 驅動的jar)

以下提供JasperReports 6.2.1版本的maven配置

	
		net.sf.jasperreports
		jasperreports
		6.2.1
	

	
		org.codehaus.groovy
		groovy-all
		2.4.7
	



Oracle驅動的Maven配置

<dependency>
       <groupId>com.oracle</groupId>
       <artifactId>ojdbc6</artifactId>
       <version>12.1.0.2</version>
    </dependency>




2) 使用JasperReports Library導出文件
 

public class JasperReportsDemo001 {
 
    public static void main(String[] args)throws Exception {
      
       //加載DB驅動,並獲得DB連接
       Class.forName("oracle.jdbc.driver.OracleDriver");
       String url = "jdbc:oracle:thin:@192.168.100.26:1521:LSSRTEST";
        String user = "myUserName";
        String password = "myPassword";
       Connection conn = DriverManager.getConnection(url, user, password);
      
       //設定報表所需要的外部參數內容
    Map<String, Object> rptParameters = new HashMap<String, Object>();
       rptParameters.put("myParam", "hello world");
      
       //傳入報表源文件絕對路徑,外部參數對象,DB連接,得到JasperPring對象
       JasperPrint jasperPrint = JasperFillManager.fillReport("D:/temp/jasper_test/report_test001.jasper", rptParameters, conn);
      
       //導出PDF文件
       JasperExportManager.exportReportToPdfFile(jasperPrint, "D:/temp/jasper_test/test.pdf");
      
       //導入HTML文件
       JasperExportManager.exportReportToHtmlFile(jasperPrint, "D:/temp/jasper_test/test.html");
      
       //執行結束
       system.out.println("Export success!!");
    }
}


 


Tags: blank 源代碼 target 開發者 color

文章來源:


ads
ads

相關文章
ads

相關文章

ad