</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/">JaspersoftCorporationCategory:
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 jasperreports6.2.1 org.codehaus.groovy groovy-all2.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
文章來源: