锘??xml version="1.0" encoding="utf-8" standalone="yes"?> 聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽
鍏充簬iReport鍜孞asperReport鐨勭畝鏄庢墜鍐?/p>
By Gem 浼嶅瓙杞?/p>
JasperReport鐨勫紑鍙戠幆澧冨繀欏昏瀵煎叆浠ヤ笅鎵鏈夊寘錛?/p> 1錛幝?JasperReport鍖咃紝濡?font size="+0">jasperreports-0.6.1.jar錛?/p> 2錛幝?Aparche Common鍖咃紝鍖呮嫭logging銆?font size="+0">digester銆?font size="+0">beanutils銆?font size="+0">collections銆?font size="+0">logging-api錛?/p> 3錛幝?iText鍖咃紝鍖呮嫭itext-1.1.jar鍜?font size="+0">iTextAsian.jar錛堢敤浜庤緭鍑轟腑鏂囧瓧絎﹀埌PDF鏂囦歡錛?/p> 浠ヤ笂鎵鏈夊寘錛堥櫎浜?font size="+0">iTextAsian.jar錛夐兘宸茬粡鍖呭惈鍦?font size="+0">iReport\lib鐩綍涓嬨?/p> 鐢?font size="+0">iReport jrxml鏂囦歡閫氳繃Jasper緙栬瘧涔嬪悗灝卞彉鎴愪簡jasper鏂囦歡錛岃繖浠芥枃浠舵墠鏄湡姝e湪紼嬪簭涓皟鐢ㄧ敓鎴愭姤琛ㄧ殑report鏂囦歡銆?/p> 浣嗘槸鏈変竴鐐硅娉ㄦ剰鐨勬槸錛?font size="+0">jasper鐨勫悇涓増鏈紪璇戝嚭鏉ョ殑jasper鏂囦歡騫朵笉鍏煎錛屽氨鏄鐢?font size="+0">0.6.1鐗堢紪璇戝嚭鏉ョ殑鏂囦歡鐢?font size="+0">0.6.4鐗堣皟鐢ㄦ槸浼氬嚭閿欑殑錛岃?font size="+0">iReport鑷甫鐨?font size="+0">Jasper鐗堟湰鏄?font size="+0">0.6.1錛岃?font size="+0">jasper鐨勬渶鏂扮増鏈槸0.6.4銆傛墍浠ヤ負浜嗕繚鎸侀氱敤鎬э紝鎴戝緩璁彧鐢?font size="+0">iReport鏉ュ紑鍙戠紪杈?font size="+0">jrxml鏂囦歡錛岃屼笉緙栬瘧鎴?font size="+0">jasper鏂囦歡錛屽湪鎴戜滑鐨勬墦鍗版姤琛ㄧ▼搴忎腑鍐嶅嵆鏃剁紪璇戜竴嬈°傝櫧鐒惰繖鏍鋒晥鐜囧彲鑳戒細浣庝簡涓鐐癸紝浣嗘槸淇濊瘉浜嗕笉鍚岀増鏈殑鍏煎鎬с?/p> 鍦ㄦ垜浠殑紼嬪簭涓紝瑕佽皟鐢?font size="+0">Jasper鐨勮瘽錛岄鍏堣寰楀埌涓涓暟鎹簱鐨?font size="+0">Connection錛屽艦濡傦細Connection con = ... 闇瑕佸線JasperReport浼犲弬鏁扮殑璇濆彧闇瑕佹柊寤轟竴涓?font size="+0">Map錛屼互鍙傛暟鍚嶄綔涓?font size="+0">key錛岄渶瑕佷紶鍏ョ殑瀵硅薄浣滀負value錛岃濡傦細 Map props = new HashMap(); 聽聽聽聽聽 props.put("name", new String("name")); 闇瑕佸涓弬鏁板彧闇鍒嗗埆put榪?font size="+0">Map閲屽幓灝卞彲浠ヤ簡銆?/p> JasperReport鏈夊涓嬪嚑涓富瑕佺殑Manager錛?/p> 灝?font size="+0">jrxml鏂囦歡緙栬瘧鎴?font size="+0">jasper鏂囦歡鎴?font size="+0">JasperReport瀵硅薄 浠庢暟鎹簮涓幏鍙栨暟鎹茍濉厖jasper鏂囦歡鎴?font size="+0">JasperReport瀵硅薄錛屼駭鐢?font size="+0">JasperPrint瀵硅薄 灝?font size="+0">JasperPrint瀵硅薄鐩存帴杈撳嚭鍒版墦鍗版満鎵撳嵃 灝?font size="+0">JasperPrint瀵硅薄瀵煎嚭鎴?font size="+0">PDF鎴?font size="+0">HTML鏂囦歡錛堟垨嫻侊級 榪愯涓涓?font size="+0">jasper鏂囦歡鎴?font size="+0">JasperReport瀵硅薄騫惰緭鍑哄埌PDF鎴?font size="+0">Html鏂囦歡錛堟垨嫻侊級涓紝鎴戠殑鐞嗚В鏄瓑浜庨泦鎴愪簡JasperFillManager鍜?strong>JasperExportManager鐨勫姛鑳?/p> 瀵逛簬涓婅堪瀵硅薄鐨勮緇嗚鏄庤鍙傞槄JasperReport鐨勬枃妗c?/p> 渚嬬▼錛?/p>渚嬬▼錛?
public static void main(String[] args) { 聽聽聽 try { 聽聽聽聽聽 Class.forName("org.gjt.mm.mysql.Driver"); 聽聽聽聽聽 Connection con = DriverManager.getConnection( 聽聽聽聽聽聽聽聽聽 "jdbc:mysql://wes:3306/umpdb?useUnicode=true&characterEncoding=GBK", "root", "elite"); 聽聽聽聽聽 File f1 = new File("Account.jrxml"); 聽聽聽聽聽 File f2 = new File("Contact.jrxml"); 聽聽聽聽聽 JasperReport main = JasperCompileManager.compileReport(f1 聽聽聽聽聽聽聽聽聽 .getAbsolutePath()); 聽聽聽聽聽 JasperReport report = JasperCompileManager.compileReport(f2 聽聽聽聽聽聽聽聽聽 .getAbsolutePath()); 聽聽聽聽聽 Map props = new HashMap(); 聽聽聽聽聽 props.put("subreport", report); 聽聽聽聽聽 JasperPrint print = JasperFillManager.fillReport(main, props,con); 聽聽聽聽聽 //JasperPrintManager.printReport(print,true); 聽聽聽聽聽 JasperExportManager.exportReportToPdfFile(print, "a.pdf"); 聽聽聽聽聽 //JasperRunManager.runReportToPdfFile("Account.jasper", "a.pdf", props, con); 聽聽聽 } catch (ClassNotFoundException e) { 聽聽聽聽聽 // TODO 鑷姩鐢熸垚 catch 鍧?/p> 聽聽聽聽聽 e.printStackTrace(); 聽聽聽 } catch (SQLException e) { 聽聽聽聽聽 // TODO 鑷姩鐢熸垚 catch 鍧?/p> 聽聽聽聽聽 e.printStackTrace(); 聽聽聽 } catch (JRException e) { 聽聽聽聽聽 // TODO 鑷姩鐢熸垚 catch 鍧?/p> 聽聽聽聽聽 e.printStackTrace(); 聽聽聽 } 聽 } 1錛?font size="+0">iReport 2錛?font size="+0">iReport 3錛庣敤Report SQL鏌ヨ涔嬪悗錛屽彲鑳戒細鍑虹幇鏌愪簺瀛楁娌℃湁鑷姩寤虹珛Field錛屽氨闇瑕佸湪Field涓墜鍔ㄥ畾涔変簡銆?/p>
1瀹夎
1.1 iReport鐨勫畨瑁?/h2>
iReport鐩存帴瑙e帇鍚庯紝灝?font size="+0">J2SDK\lib
鐩綍涓嬬殑tools.jar鎷瘋礉鍒?font size="+0">iReport\lib鐩綍涓嬶紝鐒跺悗鍦?font size="+0">iReport鐩綍涓嬭繍琛?font size="+0">iReport.bat鍗沖彲銆?br />闇瑕佹敞鎰忕殑鏄?font size="+0">tools.jar鐨勭増鏈繀欏昏涓庢湰鏈哄畨瑁呯殑jre涓鑷達紝涔熷氨鏄錛屽鏋滅郴緇熷畨瑁呯殑鏄?font size="+0">jre1.4.2灝卞繀欏葷敤jdk1.4.2鐨?font size="+0">tools.jar銆?br />1.2 JapserReport寮鍙戯紙榪愯錛夌幆澧冪殑鎼緩
2 寮鍙戞祦紼?/h1>
JasperCompileManager JasperFillManager JasperPrintManager JasperExportManager JasperRunManager 3 娉ㄦ剰浜嬮」
聽聽聽聽 1.build.xml閲岄潰display璧勬簮娌℃湁鍥介檯鍖栧鐞嗭紝涔熷氨鏄病鏈夎繘琛岀紪鐮?鍦╞uild.xml榪涜淇敼浣夸箣榪涜鍥介檯鍖?
聽聽聽聽 淇敼鏂規:
聽聽聽 聽聽聽 <native2ascii src="web/WEB-INF/classes" dest="${build.dir}/web/classes"
聽聽聽聽聽聽聽聽聽聽聽 includes="ApplicationResources_zh*.properties" encoding="UTF-8"/>
聽聽聽聽聽聽聽 <generate-database-properties/>
聽聽聽聽 鏀逛負:
聽聽聽 聽聽聽 <native2ascii src="web/WEB-INF/classes" dest="${build.dir}/web/classes"
聽聽聽聽聽聽聽聽聽聽聽 includes="*_zh*.properties" encoding="UTF-8"/>
聽聽聽聽聽聽聽 <generate-database-properties/>
聽聽聽 2.Tomcat 鐨刄RLEnCording瑕佽緗負UTF8,搴斾負appfuse鏄互utf-8鎵撳寘鐨?br />
聽聽聽 3.灝辨槸瑕佸鍘熷ApplicationResources_zh_cn.properties榪涜ascii緙栫爜杞崲鐒跺悗涓㈠埌classes閲岄潰,涓嶈鐢ㄤ粬ant鑷姩杞崲榪囩殑.濂囨殑鏄痑ppfuse鐨刟nt鐨勬椂鍊欐槸瀵規枃浠惰繘琛岃漿鎹簡,浣嗘槸榪樻槸鏈夐儴鍒嗕腑鏂囧瓨鍦ㄤ貢鐮?濂囨猧ng......涓嶇煡閬撴槸appfuse鐨勭枏蹇借繕鏄粈涔?緇х畫鐮旂┒涓?..鎴戞槸appfuse-1.9-src鐨勫寘.浣嗘槸鎴戞墜宸ヨ漿浜嗕笅ant涔嬪墠鐨勬簮鐮?鍙戠幇涔辯爜闂娑堝け.灝辮繖涓師鍥犳悶浜嗘垜涓涓櫄涓?...閮侀椃
聽聽聽 淇敼鏂規:
聽聽聽 native2ascii -encoding UTF-8聽聽 ApplicationResources_zh_CN.properties te聽 (te涓鴻漿鍚庢枃浠跺悕)
聽聽聽 native2ascii聽 te聽 ApplicationResources_zh_CN.properties1 -reverse(杞洖鏉?鍛靛懙)
]]>
鍦ㄤ綘紜浣犳紜殑瀹屾垚浜嗕笂榪版楠や互鍚?- 嫻忚涓涓?鎸囧崡 浜嗚В濡備綍浣跨敤appfuse寮鍙戠▼搴忋?
瀹夎鐨勫彲閫夐」