JasperReports 之 常用類

 

總結 ireport可以顯示圖表,餅圖,曲線圖等,也可以顯示符合報表

JasperReports介紹:
   
    使用JasperReports生成報表是非常簡單的,僅僅使用net.sf.jasperreports.engine包中的幾個類即可完成報表的生成、預覽、打印、導出等各個功能。

1. net.sf.jasperreports.engine.JasperCompileManager類。
    使用這個類的幾個靜態方法即可完成對報表的編譯工作(具體參見api文檔)
    編譯完成後可以JasperCompileManager有兩種處理方式:
       1> 返回一個JasperReport對象
       2> 在.jrxml文件所在的目錄生成一個.jasper文件
    這兩種方式是由程序員自己選擇的。不過我比較傾向使用.jasper文件,畢竟報表的結構不是每天都在改動,所以每次重新編譯報表並不是很划算。

2. net.sf.jasperreports.engine.JasperFillManager類
    這個類的作用是用數據填充報表。它可以使用JasperReport對象也可以使用。jasper文件做爲報表模板。
    它同樣有2中處理方式:
          1> 返回一個JsaperPrint對象。
          2> 在.jasper文件所在目錄生成一個.jrprint文件
    這個類使用net.sf.jasperreports.engine.JRDataSource接口的實現做爲數據源。任何實現了JRDataSource的類均可做爲數據源使用
    在net.sf.jasperreports.engine.data包中定義了一些數據源,可根據自己的需要選擇。這裏我使用的是JRTableModelDataSource做爲
    數據源(因爲我的報表還要顯示在Table中)。

3. net.sf.jasperreports.engine.JasperPrintManager和net.sf.jasperreports.engine.JasperExportManager
   者兩個類的作用是打印、導出報表
   他們使用 JasperPrint 和 .jrprint文件做爲輸入。
   可以根據自己的需要使用裏面的方法。

例:
       import net.sf.jasperreports.engine.*;
       import net.sf.jasperreports.view.*;
       public class CompileReport {
          public static void main(String args[]) {
             try {
                //編譯report.jrxml並在report.jrxml所在的目錄中生成report.jasper文件
                JasperCompileManager.compileReportToFile("report.jrxml");
                //填充數據,這裏使用的是JREmptyDataSource
                JasperFillManager.fillReportToFile("report.jasper", null, new JREmptyDataSource(50));
                //預覽報表,false代表不是使用xml文件。
                JasperViewer view = new JasperViewer("reports.jrprint", false);
                view.pack();
                view.setVisible(true);
             }
             catch (Exception e) {
                e.printStackTrace()
             }
          }
       }

儘管JasperPrintManager類可以導出爲PDF,XML文件,但是不贊成使用JasperPrintManager類來導出,建議用JasperExportManager類來導出PDF,HTML,XML文件;要導出XLS和CSV文件,用專業的導出類net.sf.jasperreports.engine.export.JRXlsExporter類和net.sf.jasperreports.engine.export.JRCsvExporter類
導出爲XLS的代碼段:
JRXlsExporter exporter = new JRXlsExporter();//創建實例
//設計參數
exporter.setParameter(JRExporterParameter.JASPER_PRINT, jasperPrint);
exporter.setParameter(JRExporterParameter.OUTPUT_FILE_NAME, strDestFile);
exporter.setParameter(JRXlsExporterParameter.IS_ONE_PAGE_PER_SHEET, Boolean.FALSE);
exporter.exportReport();//導出

導出爲CSV文件和XLS類似。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章