2007-06-11 17:11:36| 分類: J2EE技術(shù) | 標(biāo)簽:java 技術(shù) |字號 訂閱
[聲明]內(nèi)容部分摘自網(wǎng)上,感謝網(wǎng)友共享
第一部分:環(huán)境配置
一、JDK、WEB服務(wù)器及數(shù)據(jù)庫的安裝與配置
?。ù颂幝裕疚臏y試環(huán)境JDK1.5、Resin2.1.7、SQLServer2K)
二、IReport的安裝
下載地址http://ireport.sourceforge.net
目前最新版本1.3.3
包中已經(jīng)包含iText-1.3.1.jar和jasperreports-1.3.3.jar
下載報(bào)表中文支持包iTextAsian.jar下載地址http://itextpdf.sourceforge.net(注:需注冊)
將下載的IReport解壓至任意目錄,如D:\iReport-1.3.3將iTextAsian.jar添加至lib目錄下
執(zhí)行iReport.bat或者iReport.exe均可啟動(dòng)iReport
第二部分:IReport使用簡介
JasperReports可以理解為一個(gè)編譯器或者解析器。用戶通過IReport或者使用文本編輯器設(shè)計(jì)報(bào)表,其編碼格式要符合jasperreports.dtd的標(biāo)簽和屬性定義的XML編碼格式。使用此XML文件,用戶可以定義整個(gè)報(bào)表,描述哪里放置文本框、圖形、怎樣存取數(shù)據(jù),怎樣計(jì)算列值,如何顯示等等,JasperReports工作原理如圖:
IReport是一個(gè)制作JasperReport XML文件的可視化設(shè)計(jì)工具。以下是其使用時(shí)的簡單說明:
一、系統(tǒng)選項(xiàng)配置Options|選項(xiàng),以下為注意的配置點(diǎn)
第三部分:簡單示例
一、使用檔案|報(bào)表精靈
注:點(diǎn)擊下載所有視頻
http://jasperforge.org/sf/docman/do/downloadDocument/projects.ireport/docman.root/doc1021
第四部分:WEB使用示例
需要添加的包(在IReport目錄lib下可以找到):
commons-beanutils-1.7.jar
commons-collections-2.1.jar
commons-digester-1.7.jar
commons-logging-1.0.2.jar
itext-1.3.1.jar
iTextAsian.jar
jasperreports-1.3.3.jar
一、胖客戶端方式,代碼如下
String xmlFileName = System.getProperty("user.dir")+"\\test_report.jrxml";
String jasperFileName = System.getProperty("user.dir")+"\\test_report.jasper";
String printFileName = System.getProperty("user.dir")+"\\test_report.jrprint";
try {
/* 編譯報(bào)表文件.jrxml,生成文件.jasper */
JasperCompileManager.compileReportToFile(xmlFileName);
/* 設(shè)置參數(shù)*/
HashMap params = new HashMap(); //建立參數(shù)表
params.put("yourParamName",""); //設(shè)置參數(shù)值
Connection cnn = getConnection(); //自己添加得到數(shù)據(jù)庫連接的函數(shù)
/*填充報(bào)表文件.jasper,生成文件.jrPrint*/
JasperFillManager.fillReportToFile(jasperFileName,params,cnn); //用數(shù)據(jù)填充報(bào)表
/* 預(yù)覽報(bào)表文件.jrprint */
File sourceFile = new File(printFileName);
JasperPrint jasperPrint = (JasperPrint)JRLoader.loadObject(sourceFile); //生成報(bào)表結(jié)果
JasperViewer.viewReport(jasperPrint); //預(yù)覽報(bào)表
freeConnection(cnn); //自己添加釋放數(shù)據(jù)庫連接的函數(shù)
} catch (JRException e){
e.printStackTrace();
}
二、JSP訪問方式
boolean isOK = true; //判斷是否成功
try {
//第一步:裝載jasper文件
File jasperFileName = new File(request.getRealPath("/Reports/test_report.jasper"));
//第二步:設(shè)置參數(shù)值
HashMap params = new HashMap();
params.put("yourParamName",""); //設(shè)置參數(shù)值
//第三步:利用JasperRunManager生成PDF文件
ConnectionPool connMgr = ConnectionPool.getInstance();
Connection conn = connMgr.getConnection();
JasperRunManager.runReportToPdfFile(jasperFileName.getPath(),parameters,conn);
}catch(Exception ex){
isOK = false;
}
//以下只需要訪問/Reports/test_report.pdf頁面即可