亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

iReport+jasperReports制作WEB報(bào)表

系統(tǒng) 1956 0

[聲明]內(nèi)容部分摘自網(wǎng)上,感謝網(wǎng)友共享

第一部分:環(huán)境配置

一、JDK、WEB服務(wù)器及數(shù)據(jù)庫的安裝與配置
  (此處略,本文測試環(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 均可啟動 iReport

第二部分:IReport使用簡介

  JasperReports可以理解為一個編譯器或者解析器。用戶通過IReport或者使用文本編輯器設(shè)計(jì)報(bào)表,其編碼格式要符合jasperreports.dtd的標(biāo)簽和屬性定義的XML編碼格式。使用此XML文件,用戶可以定義整個報(bào)表,描述哪里放置文本框、圖形、怎樣存取數(shù)據(jù),怎樣計(jì)算列值,如何顯示等等,JasperReports工作原理如圖:

  XML源文件必須被編譯后產(chǎn)生一個文件后綴為“.jasper”的報(bào)表文件,由JRDataSource提供數(shù)據(jù)對報(bào)表文件進(jìn)行填充,現(xiàn)在有了數(shù)據(jù)加上jasper文件,就可以生成打印報(bào)表。即:A datasource + a jasper file = a print

  IReport是一個制作JasperReport XML文件的可視化設(shè)計(jì)工具。以下是其使用時的簡單說明:

  一、系統(tǒng)選項(xiàng)配置 Options|選項(xiàng) ,以下為注意的配置點(diǎn)
iReport+jasperReports制作WEB報(bào)表
iReport+jasperReports制作WEB報(bào)表
  二、數(shù)據(jù)源設(shè)置: Data|連接/資料來源 ,選擇New,DataBase JDBC connection

  注:請先將JDBC包放置于目錄lib下,否則不能顯示您數(shù)據(jù)庫的Driver;也可以在options|Classpath中進(jìn)行JAR包的添加
  三、主要使用的工具欄簡介
iReport+jasperReports制作WEB報(bào)表
  四、Band詳解
iReport+jasperReports制作WEB報(bào)表
  五、報(bào)表參數(shù)說明
iReport+jasperReports制作WEB報(bào)表
  系統(tǒng)默認(rèn)變量
$V{PAGE_NUMBER} 代表當(dāng)前頁數(shù)(可以是頁碼也可以是頁數(shù),通過TextField的計(jì)算時間的不同值來設(shè)置)
$V{PAGE_COUNT} 當(dāng)前頁面中記錄的數(shù)目
$V{groupname_COUNT} 代表當(dāng)前組的記錄數(shù)
$V{COLUMN_NUMBER} 列號碼
$V{COLUMN_COUNT} 當(dāng)前列中記錄的數(shù)目(是當(dāng)前頁里行的序號,在新頁上會重置為1)
$V{REPORT_COUNT} 當(dāng)前文檔中數(shù)據(jù)源記錄數(shù)目
  六、如果以PDF輸出,元素字體設(shè)置如下
iReport+jasperReports制作WEB報(bào)表

--------------------注:沒有時間寫,以下內(nèi)容從簡------------------------

第三部分:簡單示例

  一、使用 檔案|報(bào)表精靈
iReport+jasperReports制作WEB報(bào)表
  1. 注意選擇連接/資料來源(即數(shù)據(jù)源),在SQL query中填寫報(bào)表查詢語句
  2. 依據(jù)您的查詢語句選擇列出來要顯示的字段名
  3. 分組字段的選擇,可以選擇三個,注意如果選擇分組字段,SQL語句應(yīng)加上相應(yīng)的order by
  4. 選擇報(bào)表布局
  參考 http://ireport.sourceforge.net/swf/Report_Wizard_viewlet_swf.htm
  二、報(bào)表參數(shù)設(shè)置
  參考 http://ireport.sourceforge.net/swf/Parameters_viewlet_swf.htm
  三、子報(bào)表
  參考 http://ireport.sourceforge.net/swf/Subreport_viewlet_swf.htm
  (注:視頻中子報(bào)表參數(shù)前要加P,視頻沒有添加)
  四、分組報(bào)表
  參考 http://ireport.sourceforge.net/swf/Groups_viewlet_swf.htm

注:點(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頁面即可

iReport+jasperReports制作WEB報(bào)表


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯(lián)系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長非常感激您!手機(jī)微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發(fā)表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 亚洲成年网 | 手机看片福利日韩国产 | 不卡视频在线 | 99热这里只有精品在线播放 | 久久视频在线看 | 免费一看一级毛片人 | 国产视频手机在线观看 | 久久久毛片 | 成人国产综合 | 国产综合区 | 国产在线91精品 | 日韩中文字幕在线观看视频 | 久久精品国产清自在天天线 | 欧美性视频一区二区三区 | 婷婷sese | 天天射天天干天天插 | 成人久久18免费网 | 老太婆性杂交毛片 | 国产成人精品一区二区仙踪林 | 成人免费毛片一区二区三区 | 色婷婷91| 999视频在线| 久久天天躁综合夜夜黑人鲁色 | 午夜一级 | 狼人伊人干 | 精品国产一区二区三区不卡 | 亚洲毛片一级带毛片基地 | 成人小视频在线观看免费 | 国产精品午夜高清在线观看 | 欧美一区二区三区黄色 | 精品一区二区三区在线观看视频 | 久草精彩视频 | 91精品国产美女福到在线不卡 | 女人一级毛片免费观看 | 欧美性色福利视频在线观看 | 久久都是精品 | 国产成人 免费观看 | 欧美亚洲另类色国产综合 | 亚洲欧美日韩在线不卡中文 | 免费看片aⅴ免费大片 | 亚洲欧美日韩综合二区三区 |