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

JasperReports報表的開發流程

系統 2155 0

JasperReports的開發流程

1. 開發報表設計文件,也就是一個*.jrxml文件。

2. 使用JasperReports提供的JasperCompileManager工具編譯*.jrxml文件,編譯后生成一個*.jasper文件。

3. 使用JasperReports提供的JasperFillManager工具填充編譯后的*.jasper文件,填充后生成一個*.jrprint文件。

4. 使用導出管理器JasperExportManager或者各種格式的文件導出器JRXxxExporter將*.jrprint文件導出成各種格式的報表文件。也可以使用JRViewer工具類來直接瀏覽報表。也可以使用打印管理器JasperPrintManager來打印報表。

?

在JasperReports開發過程中,報表源文件開各種格式的報表文件要經過下圖所示的過程:

在JasperReports的開發流程中,JasperReports共涉及以下幾個類:

?

net.sf.jasperreports.engine.design.JasperDesign

對應報表設計文件在內存中的形式,也就是對應的*.jrxml文件。

?

net.sf.jasperreports .engine.JasperReport

對應二進制報表文件在內存中的形式,也就是對應的*.jasper文件。

net.sf.jasperreports . engine.JasperPrint

對應可顯示報表設計文件在內存中的形式,也就是對應的*.jrprint文件。這時可以通過JasperReports內建的報表查看器直接使用,也可以序列化后存儲到磁盤上以后使用,更甚于通過網絡發送給他處使用。

net.sf.jasperreports.engine.xml.JRXmlLoader

當調用這個方法來載入一個對象時,程序會先通過一個有效的URL來解析路徑。如果失敗了,程序就會認為這是一個文件路徑并且嘗試去讀取。如果這個文件也沒有被發現,程序就會嘗試在classpath里尋找能夠匹配的資源。如果這也失敗了,只好拋出異常。

?

  1. JasperDesign design = JRXmlLoader.load(File file);
  2. JasperDesign design = JRXmlLoader.load(InputStreaminputStream);
  3. JasperDesign design = JRXmlLoader.load(String sourceFileName);
      JasperDesign design = JRXmlLoader.load(File file);
JasperDesign design = JRXmlLoader.load(InputStreaminputStream);
JasperDesign design = JRXmlLoader.load(String sourceFileName);
    

?

net.sf.jasperreports . engine.JasperCompileManager

這是一個與編譯有關的類,利用它提供的一些編譯方法,允許我們將一個報表設計文檔(*.jrxml文件)編譯成一個二進制文件(*.jasper文件)。此外,它也可以直接將net.sf.jasperreports.engine.design.JasperDesign(* .jrxml文件 在內存中的形式)對象編譯成net.sf.jasperreports.engine.JasperReport對象。

?

  1. JasperCompileManager.compileReport(InputStream inputStream); return JasperReport
  2. JasperCompileManager.compileReport(JasperDesign jasperDesign); return JasperReport
  3. JasperCompileManager.compileReport(String sourceFileName); return JasperReport
  4. JasperCompileManager.compileReportToFile(JasperDesign jasperDesign, String destFileName);
  5. JasperCompileManager.compileReportToFile(String sourceFileName);
  6. JasperCompileManager.compileReportToFile(String sourceFileName, String destFileName).
  7. JasperCompileManager.compileReportToStream(InputStream inputStream, OutputStream outputStream);
  8. JasperCompileManager.compileReportToStream(JasperDesign jasperDesign, OutputStream outputStream);
          JasperCompileManager.compileReport(InputStream inputStream);    return JasperReport
    JasperCompileManager.compileReport(JasperDesign jasperDesign);  return JasperReport
    JasperCompileManager.compileReport(String sourceFileName);      return JasperReport

    JasperCompileManager.compileReportToFile(JasperDesign jasperDesign, String destFileName);
    JasperCompileManager.compileReportToFile(String sourceFileName);
    JasperCompileManager.compileReportToFile(String sourceFileName, String destFileName).

    JasperCompileManager.compileReportToStream(InputStream inputStream, OutputStream outputStream);
    JasperCompileManager.compileReportToStream(JasperDesign jasperDesign, OutputStream outputStream);
    

?

net.sf.jasperreports .engine.JasperFillManager

這個類用于報表填充的。報表填充就是為報表的數據查詢提供數據庫連接,給報表的參數設置值等。填充之前是*.jasper文件,經過填充后就變成了*.jrprint文件--這是一個可顯示或者可導出成報表的文件。

參數的值通常通過一個java.util.Map對象來提供,這個Map對象的鍵是報表參數的名字。

數據源在不同的情況下可以通過兩種方式提供:通常情況下,它必須作為一個JRDataSource對象被提供。但是由于大多數的報表所填的值都是從關系數據庫取出來的。JasperReports有一個內建的默認行為,可以讓人們在報表設計的時候就指定一條SQL查詢語句。當在運行時填充報表的時候,執行SQL查詢語句來獲得需要填充的值。在這種情況下,JasperReports需要的僅僅是一個java.sql.Connection對象,一個通常的數據源對象的實例。JasperReports需要使用這個連接對象通過JDBC連接到關系數據庫管理系統,并且執行報表查詢。

在執行了報表查詢后,JasperReports會自動創建一個net.sf.jasperreports.engine.JRResultSetDataSource對象來封裝java.sql.ResultSet對象,并將它傳給普通的填充過程使用。

  1. JasperFillManager.fillReport(InputStream inputStream, Map parameters); return JasperPrint
  2. JasperFillManager.fillReport(InputStream inputStream, Map parameters, Connection connection);
  3. JasperFillManager.fillReport(InputStream inputStream, Map parameters, JRDataSource dataSource);
  4. JasperFillManager.fillReport(JasperReport jasperReport, Map parameters);
  5. JasperFillManager.fillReport(JasperReport jasperReport, Map parameters, Connection connection);
  6. JasperFillManager.fillReport(JasperReport jasperReport, Map parameters, JRDataSource dataSource);
  7. JasperFillManager.fillReport(String sourceFileName, Map parameters);
  8. JasperFillManager.fillReport(String sourceFileName, Map parameters, Connection connection);
  9. JasperFillManager.fillReport(String sourceFileName, Map parameters, JRDataSource dataSource);
  10. JasperFillManager.fillReportToFile(JasperReport jasperReport, String destFileName, Map parameters);
  11. JasperFillManager.fillReportToFile(JasperReport jasperReport, String destFileName, Map parameters, Connection connection);
  12. JasperFillManager.fillReportToFile(JasperReport jasperReport, String destFileName, Map parameters, JRDataSource datasource);
  13. JasperFillManager.fillReportToFile(String sourceFileName, Map parameters);
  14. JasperFillManager.fillReportToFile(String sourceFileName, Map parameters, Connection connection);
  15. JasperFillManager.fillReportToFile(String sourceFileName, Map parameters, JRDatasource dataSource);
  16. JasperFillManager.fillReportToFile(String sourceFileName, String destFileName, Map parameters);
  17. JasperFillManager.fillReportToFile(String sourceFileName, String destFileName, Map parameters, Connection connection);
  18. JasperFillManager.fillReportToFile(String sourceFileName, String destFileName, Map parameters, JRDataSource dataSource);
  19. JasperFillManager.fillReportToStream(InputStream inputStream, OutputStream outputStream, Map parameters);
  20. JasperFillManager.fillReportToStream(InputStream inputStream, OutputStream outputStream, Map parameters, Connection connection);
  21. JasperFillManager.fillReportToStream(InputStream inputStream, OutputStream outputStream, Map parameters, JRDataSource dataSource);
  22. JasperFillManager.fillReportToStream(JasperReport jasperReport, OutputStream outputStream, Map parameters);
  23. JasperFillManager.fillReportToStream(JasperReport jasperReport, OutputStream outputStream, Map parameters, Connection connection);
  24. JasperFillManager.fillReportToStream(JasperReport jasperReport, OutputStream outputStream, Map parameters, JRDataSource dataSource);
          JasperFillManager.fillReport(InputStream inputStream, Map parameters);         return JasperPrint
    JasperFillManager.fillReport(InputStream inputStream, Map parameters, Connection connection);
    JasperFillManager.fillReport(InputStream inputStream, Map parameters, JRDataSource dataSource);
    JasperFillManager.fillReport(JasperReport jasperReport, Map parameters);   
    JasperFillManager.fillReport(JasperReport jasperReport, Map parameters, Connection connection);
    JasperFillManager.fillReport(JasperReport jasperReport, Map parameters, JRDataSource dataSource);
    JasperFillManager.fillReport(String sourceFileName, Map parameters);                  
    JasperFillManager.fillReport(String sourceFileName, Map parameters, Connection connection);
    JasperFillManager.fillReport(String sourceFileName, Map parameters, JRDataSource dataSource);
    
    JasperFillManager.fillReportToFile(JasperReport jasperReport, String destFileName, Map parameters);
    JasperFillManager.fillReportToFile(JasperReport jasperReport, String destFileName, Map parameters, Connection connection);
    JasperFillManager.fillReportToFile(JasperReport jasperReport, String destFileName, Map parameters, JRDataSource datasource);
    JasperFillManager.fillReportToFile(String sourceFileName, Map parameters);
    JasperFillManager.fillReportToFile(String sourceFileName, Map parameters, Connection connection);
    JasperFillManager.fillReportToFile(String sourceFileName, Map parameters, JRDatasource dataSource);
    JasperFillManager.fillReportToFile(String sourceFileName, String destFileName, Map parameters);
    JasperFillManager.fillReportToFile(String sourceFileName, String destFileName, Map parameters, Connection connection);
    JasperFillManager.fillReportToFile(String sourceFileName, String destFileName, Map parameters, JRDataSource dataSource);
    
    JasperFillManager.fillReportToStream(InputStream inputStream, OutputStream outputStream, Map parameters);
    JasperFillManager.fillReportToStream(InputStream inputStream, OutputStream outputStream, Map parameters, Connection connection);
    JasperFillManager.fillReportToStream(InputStream inputStream, OutputStream outputStream, Map parameters, JRDataSource dataSource);
    JasperFillManager.fillReportToStream(JasperReport jasperReport, OutputStream outputStream, Map parameters);
    JasperFillManager.fillReportToStream(JasperReport jasperReport, OutputStream outputStream, Map parameters, Connection connection);
    JasperFillManager.fillReportToStream(JasperReport jasperReport, OutputStream outputStream, Map parameters, JRDataSource dataSource);
    

?

net.sf.jasperreports . engine.JasperPrintManager

用于將一個*.jrprint文件完成打印。在JapserReports中,我們可以通過這個類來打印報表,它包含了所有的打印功能。它提供了打印整個文檔或者部分文檔、顯不顯示打印對話框的方法。使用這個類可以將JasperReports文檔的一頁作為一個java.awt.Image對象來顯示。

  1. JasperPrintManager.printPage(InputStream inputStream, int pageIndex, boolean withPrintDialog);
  2. JasperPrintManager.printPage(JasperPrint jasperPrint, int pageIndex, boolean withPrintDialog);
  3. JasperPrintManager.printPage(String sourceFileName, int pageIndex, boolean withPrintDialog);
  4. JasperPrintManager.printPages(InputStream inputStream, int firstPageIndex, int lastPageIndex, boolean withPrintDialog);
  5. JasperPrintManager.printPages(JasperPrint jasperPrint, int firstPageIndex, int lastPageIndex, boolean withPrintDialog);
  6. JasperPrintManager.printPages(String sourceFileName, int firstPageIndex, int lastPageIndex, boolean withPrintDialog);
  7. JasperPrintManager.printPageToImage(InputStream inputStream, int pageIndex, float zoom);
  8. JasperPrintManager.printPageToImage(JasperPrint jasperPrint, int pageIndex, float zoom);
  9. JasperPrintManager.printPageToImage(String sourceFileName, int pageIndex, float zoom);
  10. JasperPrintManager.printReport(InputStream inputStream, boolean withPrintDialog);
  11. JasperPrintManager.printReport(JasperPrint jasperPrint, boolean withPrintDialog);
  12. JasperPrintManager.printReport(String sourceFileName, boolean withPrintDialog);
  13. JasperPrintManager.printReportToPdf(JasperPrint jasperPrint);
  14. JasperPrintManager.printReportToPdfFile(JasperPrint jasperPrint, String destFileName);
  15. JasperPrintManager.printReportToPdfFile(String sourceFileName);
  16. JasperPrintManager.printReportToPdfFile(String sourceFileName, String destFileName);
  17. JasperPrintManager.printReportToPdfStream(InputStream inputStream, OutputStream outputStream);
  18. JasperPrintManager.printReportToPdfStream(JasperPrint jasperPrint, OutputStream outputStream);
  19. JasperPrintManager.printReportToXml(JasperPrint jasperPrint);
  20. JasperPrintManager.printReportToXmlFile(JasperPrint jasperPrint, String destFileName);
  21. JasperPrintManager.printReportToXmlFile(String sourceFileName);
  22. JasperPrintManager.printReportToXmlFile(String sourceFileName, String destFileName);
  23. JasperPrintManager.printReportToXmlStream(InputStream inputStream, OutputStream outputStream);
  24. JasperPrintManager.printReportToXmlStream(JasperPrint jasperPrint, OutputStream outputStream);
          JasperPrintManager.printPage(InputStream inputStream, int pageIndex, boolean withPrintDialog);
    JasperPrintManager.printPage(JasperPrint jasperPrint, int pageIndex, boolean withPrintDialog);
    JasperPrintManager.printPage(String sourceFileName, int pageIndex, boolean withPrintDialog);     
    
    JasperPrintManager.printPages(InputStream inputStream, int firstPageIndex, int lastPageIndex, boolean withPrintDialog);          
    JasperPrintManager.printPages(JasperPrint jasperPrint, int firstPageIndex, int lastPageIndex, boolean withPrintDialog);          
    JasperPrintManager.printPages(String sourceFileName, int firstPageIndex, int lastPageIndex, boolean withPrintDialog);   
    
    JasperPrintManager.printPageToImage(InputStream inputStream, int pageIndex, float zoom);         
    JasperPrintManager.printPageToImage(JasperPrint jasperPrint, int pageIndex, float zoom);        
    JasperPrintManager.printPageToImage(String sourceFileName, int pageIndex, float zoom);  
    
    JasperPrintManager.printReport(InputStream inputStream, boolean withPrintDialog);         
    JasperPrintManager.printReport(JasperPrint jasperPrint, boolean withPrintDialog);        
    JasperPrintManager.printReport(String sourceFileName, boolean withPrintDialog);
    
    JasperPrintManager.printReportToPdf(JasperPrint jasperPrint);
    JasperPrintManager.printReportToPdfFile(JasperPrint jasperPrint, String destFileName);
    JasperPrintManager.printReportToPdfFile(String sourceFileName);
    JasperPrintManager.printReportToPdfFile(String sourceFileName, String destFileName);
    JasperPrintManager.printReportToPdfStream(InputStream inputStream, OutputStream outputStream);
    JasperPrintManager.printReportToPdfStream(JasperPrint jasperPrint, OutputStream outputStream);
    
    JasperPrintManager.printReportToXml(JasperPrint jasperPrint);
    JasperPrintManager.printReportToXmlFile(JasperPrint jasperPrint, String destFileName);
    JasperPrintManager.printReportToXmlFile(String sourceFileName);
    JasperPrintManager.printReportToXmlFile(String sourceFileName, String destFileName);
    JasperPrintManager.printReportToXmlStream(InputStream inputStream, OutputStream outputStream);
    JasperPrintManager.printReportToXmlStream(JasperPrint jasperPrint, OutputStream outputStream);
    

?

net.sf.jasperreports . engine.JasperExportManager

這個管理類對不同來源和不同去處(文件、輸入輸出流等)的數據提供不同的方法。 用于將可顯示的報表導出成各種格式的報表文件,例如PDF、HTML、XML和其他的格式。

  1. JasperExportManager.exportReportToHtmlFile(JasperPrint jasperPrint, String destFileName);
  2. JasperExportManager.exportReportToHtmlFile(String sourceFileName);
  3. JasperExportManager.exportReportToHtmlFile(String sourceFileName, String destFileName);
  4. JasperExportManager.exportReportToPdf(JasperPrint jasperPrint);
  5. JasperExportManager.exportReportToPdfFile(JasperPrint jasperPrint, String destFileName);
  6. JasperExportManager.exportReportToPdfFile(String sourceFileName);
  7. JasperExportManager.exportReportToPdfFile(String sourceFileName, String destFileName);
  8. JasperExportManager.exportReportToPdfStream(InputStream inputStream, OutputStream outputStream);
  9. JasperExportManager.exportReportToPdfStream(JasperPrint jasperPrint, OutputStream outputStream);
  10. JasperExportManager.exportReportToXml(JasperPrint jasperPrint);
  11. JasperExportManager.exportReportToXmlFile(JasperPrint jasperPrint, String destFileName, boolean isEmbeddingImages);
  12. JasperExportManager.exportReportToXmlFile(String sourceFileName, boolean isEmbeddingImages);
  13. JasperExportManager.exportReportToXmlFile(String sourceFileName, String destFileName, boolean isEmbeddingImages);
  14. JasperExportManager.exportReportToXmlStream(InputStream inputStream, OutputStream outputStream);
  15. JasperExportManager.exportReportToXmlStream(JasperPrint jasperPrint, OutputStream outputStream);
          JasperExportManager.exportReportToHtmlFile(JasperPrint jasperPrint, String destFileName);
    JasperExportManager.exportReportToHtmlFile(String sourceFileName);
    JasperExportManager.exportReportToHtmlFile(String sourceFileName, String destFileName);
    
    JasperExportManager.exportReportToPdf(JasperPrint jasperPrint);
    JasperExportManager.exportReportToPdfFile(JasperPrint jasperPrint, String destFileName);
    JasperExportManager.exportReportToPdfFile(String sourceFileName);
    JasperExportManager.exportReportToPdfFile(String sourceFileName, String destFileName);
    JasperExportManager.exportReportToPdfStream(InputStream inputStream, OutputStream outputStream);
    JasperExportManager.exportReportToPdfStream(JasperPrint jasperPrint, OutputStream outputStream);
    
    JasperExportManager.exportReportToXml(JasperPrint jasperPrint);
    JasperExportManager.exportReportToXmlFile(JasperPrint jasperPrint, String destFileName, boolean isEmbeddingImages);
    JasperExportManager.exportReportToXmlFile(String sourceFileName, boolean isEmbeddingImages);
    JasperExportManager.exportReportToXmlFile(String sourceFileName, String destFileName, boolean isEmbeddingImages);
    JasperExportManager.exportReportToXmlStream(InputStream inputStream, OutputStream outputStream);
    JasperExportManager.exportReportToXmlStream(JasperPrint jasperPrint, OutputStream outputStream);
    

?

net.sf.jasperreports.engine.export.JRXxxExporter

這是一系列的文件導出器,它們用于將*.jrprint文件導出成對應格式的報表文件。 例如 XSL 、PDF、HTML、XML、CSV、RTF、TXT和其他的格式。 JRXlsExporter、JRPdfExporter、JRXmlExporter、JRCsvExporter、JRHtmlExporter、JRTextExporter、JRRtfExporter

?

  1. eg: JRXlsExporter exporter = new JRXlsExporter();
  2. exporter.setParameter(JRExporterParameter.JASPER_PRINT, jasperPrint);
  3. exporter.setParameter(JRExporterParameter.OUTPUT_FILE_NAME, "reports/StretchReport.xls" );
  4. exporter.setParameter(JRXlsExporterParameter.IS_ONE_PAGE_PER_SHEET, Boolean.TRUE);
  5. exporter.exportReport();
          eg: JRXlsExporter exporter = new JRXlsExporter();
        exporter.setParameter(JRExporterParameter.JASPER_PRINT, jasperPrint);
        exporter.setParameter(JRExporterParameter.OUTPUT_FILE_NAME, "reports/StretchReport.xls");
        exporter.setParameter(JRXlsExporterParameter.IS_ONE_PAGE_PER_SHEET, Boolean.TRUE);
        exporter.exportReport();
    

?

net.sf.jasperreports . engine.JasperRunManager

這個類可以直接將*.jasper文件導出成各種格式的報表文件,有時候在報表填充過程中我們不希望生成中間的net.sf.jasperreports.engine.JasperPrint對象,而直接生成我們所需要的文檔格式,例如:PDF或HTML。

  1. JasperRunManager.runReportToHtmlFile(String sourceFileName, Map parameters);
  2. JasperRunManager.runReportToHtmlFile(String sourceFileName, Map parameters, Connection conn);
  3. JasperRunManager.runReportToHtmlFile(String sourceFileName, Map parameters, JRDataSource jrDataSource);
  4. JasperRunManager.runReportToHtmlFile(String sourceFileName, String destFileName, Map parameters);
  5. JasperRunManager.runReportToHtmlFile(String sourceFileName, String destFileName, Map parameters, Connection conn);
  6. JasperRunManager.runReportToHtmlFile(String sourceFileName, String destFileName, Map parameters, JRDataSource jrDataSource);
  7. JasperRunManager.runReportToPdf(InputStream inputStream, Map parameters);
  8. JasperRunManager.runReportToPdf(InputStream inputStream, Map parameters, Connection conn);
  9. JasperRunManager.runReportToPdf(InputStream inputStream, Map parameters, JRDataSource jrDataSource);
  10. JasperRunManager.runReportToPdf(JasperReport jasperReport, Map parameters);
  11. JasperRunManager.runReportToPdf(JasperReport jasperReport, Map parameters, Connection conn);
  12. JasperRunManager.runReportToPdf(JasperReport jasperReport, Map parameters, JRDataSource jrDataSource);
  13. JasperRunManager.runReportToPdf(String sourceFileName, Map parameters);
  14. JasperRunManager.runReportToPdf(String sourceFileName, Map parameters, Connection conn);
  15. JasperRunManager.runReportToPdf(String sourceFileName, Map parameters, JRDataSource jrDataSource);
  16. JasperRunManager.runReportToPdfFile(String sourceFileName, Map parameters);
  17. JasperRunManager.runReportToPdfFile(String sourceFileName, Map parameters, Connection conn);
  18. JasperRunManager.runReportToPdfFile(String sourceFileName, Map parameters, JRDataSource jrDataSource);
  19. JasperRunManager.runReportToPdfFile(String sourceFileName, String destFileName, Map parameters);
  20. JasperRunManager.runReportToPdfFile(String sourceFileName, String destFileName, Map parameters, Connection conn);
  21. JasperRunManager.runReportToPdfFile(String sourceFileName, String destFileName, Map parameters, JRDataSource jrDataSource);
  22. JasperRunManager.runReportToPdfStream(InputStream inputStream, OutputStream outputStream, Map parameters);
  23. JasperRunManager.runReportToPdfStream(InputStream inputStream, OutputStream outputStream, Map parameters, Connection conn);
  24. JasperRunManager.runReportToPdfStream(InputStream inputStream, OutputStream outputStream, Map parameters, JRDataSource jrDataSource);
          JasperRunManager.runReportToHtmlFile(String sourceFileName, Map parameters);
    JasperRunManager.runReportToHtmlFile(String sourceFileName, Map parameters, Connection conn);
    JasperRunManager.runReportToHtmlFile(String sourceFileName, Map parameters, JRDataSource jrDataSource);
    JasperRunManager.runReportToHtmlFile(String sourceFileName, String destFileName, Map parameters);
    JasperRunManager.runReportToHtmlFile(String sourceFileName, String destFileName, Map parameters, Connection conn);
    JasperRunManager.runReportToHtmlFile(String sourceFileName, String destFileName, Map parameters, JRDataSource jrDataSource);
    
    JasperRunManager.runReportToPdf(InputStream inputStream, Map parameters);
    JasperRunManager.runReportToPdf(InputStream inputStream, Map parameters, Connection conn);
    JasperRunManager.runReportToPdf(InputStream inputStream, Map parameters, JRDataSource jrDataSource);
    JasperRunManager.runReportToPdf(JasperReport jasperReport, Map parameters);
    JasperRunManager.runReportToPdf(JasperReport jasperReport, Map parameters, Connection conn);
    JasperRunManager.runReportToPdf(JasperReport jasperReport, Map parameters, JRDataSource jrDataSource);
    JasperRunManager.runReportToPdf(String sourceFileName, Map parameters);
    JasperRunManager.runReportToPdf(String sourceFileName, Map parameters, Connection conn);
    JasperRunManager.runReportToPdf(String sourceFileName, Map parameters, JRDataSource jrDataSource);
    
    JasperRunManager.runReportToPdfFile(String sourceFileName, Map parameters);
    JasperRunManager.runReportToPdfFile(String sourceFileName, Map parameters, Connection conn);
    JasperRunManager.runReportToPdfFile(String sourceFileName, Map parameters, JRDataSource jrDataSource);
    JasperRunManager.runReportToPdfFile(String sourceFileName, String destFileName, Map parameters);
    JasperRunManager.runReportToPdfFile(String sourceFileName, String destFileName, Map parameters, Connection conn);
    JasperRunManager.runReportToPdfFile(String sourceFileName, String destFileName, Map parameters, JRDataSource jrDataSource);
    
    JasperRunManager.runReportToPdfStream(InputStream inputStream, OutputStream outputStream, Map parameters);
    JasperRunManager.runReportToPdfStream(InputStream inputStream, OutputStream outputStream, Map parameters, Connection conn);
    JasperRunManager.runReportToPdfStream(InputStream inputStream, OutputStream outputStream, Map parameters, JRDataSource jrDataSource);
    

?

net.sf.jasperreports .engine.JRDataSource

?

JasperReports在報表數據來源方面是具有高柔韌性的。人們可以使用任意的數據源,前提條件就是能夠提供一個這個接口的恰當的實現。這樣報表引擎可以在填充報表時從數據源解析和檢索數據。

通常來說,如果一個報表填充了數據,肯定有一個這個接口的實例被報表引擎提供或創建。

net.sf.jasperreports . engine.JREmptyDataSource

作為最簡單的net.sf.jasperreports.engine.JRDataSource接口的實現,這個類可以在不希望顯示從數據源獲得的數據,而只關心數據源的虛擬行數時在報表中使用。

在提供的例子里有不少在填充報表時用到了這個類的實例,例如:fonts、images、shapes和unicode。這樣做是為了模擬一個有一條空記錄的數據源。

net.sf.jasperreports . engine.JRResultSetDataSource

這個類是net.sf.jasperreports.engine.JRDataSource接口的一個默認實現。由于大多數的報表都由關系數據庫的數據生成,JasperReports包含了一個封裝了java.sql.ResultSet對象的默認實現。

這個類有著明確的目的:在傳給報表填充測試之前封裝已經載入的數據集。在執行了通過JDBC的報表查詢后它會被用來封裝從數據庫獲得的數據。

net.sf.jasperreports . engine.data.JRTableModelDataSource

這個類是net.sf.jasperreports.engine.JRDataSource接口的另外一個默認實現。它封裝了javax.swing.table.TableModel對象。它可以在Java Swing應用程序中通過已經載入的屏幕表格的數據生成報表。

net.sf.jasperreports.engine.data. JRBeanCollectionDataSource

使用Bean作為數據源, JRBeanCollectionDataSource繼承JRAbstractBeanDataSource類,而JRAbstractBeanDataSource是一個抽象類它間接的實現了JRDataSource這個接口,所以我們就可以不用自己去實現next()/getFieldValue()這兩個方法了

?

  1. eg:JRDataSource datesource = new JRBeanCollectionDataSource(list);
       eg:JRDataSource datesource = new JRBeanCollectionDataSource(list);
    

?

net.sf.jasperreports.swing.JRViewer

這個類和上面說到的類不大一樣,說它是一個實用類不如說是一個顯示插件。它可以用在基于Swing的應用程序里來顯示JasperReports生成的報表。

這個可視化組件并不能滿足每一個人。它被當作一個例子組件被包含在主類庫中,用來顯示核心打印功能可以在基于Swing的應用程序里通過net.sf.jasperreports.engine.JasperPrintManager類生成java.awt.Image對象來顯示報表。

如果想修改這個組件使其滿足應用程序的需求,首選的方法是使用它的子類。

  1. JRVierer jr = new JRViewer(InputStream inputStream, boolean isXML);
  2. JRVierer jr = new JRViewer(inputStream inputStream, boolean isXML, Locale locale);
  3. JRVierer jr = new JRViewer(inputStream inputStream, boolean isXML, Locale locale, ResourceBundle resBundle);
  4. JRVierer jr = new JRViewer(JasperPrint jrPrint);
  5. JRVierer jr = new JRViewer(JasperPrint jrPrint, Locale locale);
  6. JRVierer jr = new JRViewer(JasperPrint jrPrint, Locale locale, ResourceBundle resBundle);
  7. JRVierer jr = new JRViewer(String fileName, boolean isXML);
  8. JRVierer jr = new JRViewer(String fileName, boolean isXML, Locale locale);
  9. JRVierer jr = new JRViewer(String fileName, boolean isXML, Locale locale, ResourceBundle resBundle);
          JRVierer jr = new JRViewer(InputStream inputStream, boolean isXML);
    JRVierer jr = new JRViewer(inputStream inputStream, boolean isXML, Locale locale);
    JRVierer jr = new JRViewer(inputStream inputStream, boolean isXML, Locale locale, ResourceBundle resBundle);

    JRVierer jr = new JRViewer(JasperPrint jrPrint);
    JRVierer jr = new JRViewer(JasperPrint jrPrint, Locale locale);
    JRVierer jr = new JRViewer(JasperPrint jrPrint, Locale locale, ResourceBundle resBundle);
    
    JRVierer jr = new JRViewer(String fileName, boolean isXML);
    JRVierer jr = new JRViewer(String fileName, boolean isXML, Locale locale);
    JRVierer jr = new JRViewer(String fileName, boolean isXML, Locale locale, ResourceBundle resBundle);
    

?

net.sf.jasperreports .view.JasperViewer

這也是一個以教學為目的的類。它使用了net.sf.jasperreports.swing.JRViewer組件來顯示報表。它是一個簡單的Java Swing應用程序,可以裝載和顯示報表。它在提供的例子中被廣泛的使用,用來顯示生成的文檔。

net.sf.jasperreports .view.JasperDesignViewer

通常,一個使用JasperReports來生成報表的應用程序如果使用了這個類將不能運行。這個類可以在設計階段用來預覽報表模版。它被當作一個用作可視化設計而使用的開發工具提供。

net.sf.jasperreports . engine.JRAbstractScriptlet

腳本程序(Scriptlets)是JasperReports類庫中一個非常強大的功能。它可以讓用戶自己編寫在填充過程中可以被報表引擎執行的代碼。用戶代碼可以在一個定義良好的片斷(例如:頁、列或者組)里操作報表數據;為生成的文檔建立一個新的range。

net.sf.jasperreports . engine.JRDefaultScriptlet

這是net.sf.jasperreports.engine.JRAbstractScriptlet的一個便利的子類。大多數時間用戶在使用腳本程序時會選擇這個類,這樣他們就不需要實現抽象類里定義的所有抽象方法了。

?

附:Exporter常用參數說明

  1. ? net.sf.jasperreports.engine.JRExporterParameter. JASPER_PRINT
  2. 這個參數是net.sf.jasperreports.engine.JasperPrint的對象,exporter在導出報表前會做檢測
  3. ? net.sf.jasperreports.engine.JRExporterParameter. JASPER_PRINT_LIST
  4. 這個參數是包含了n個net.sf.jasperreports.engine.JasperPrint對象的java.util.List,exporter在導出報表前會做檢測
  5. ? net.sf.jasperreports.engine.JRExporterParameter.INPUT_STREAM
  6. 這個參數是net.sf.jasperreports.engine.JasperPrint被序列化對象的輸入流,exporter在導出報表前會做檢測
  7. ? net.sf.jasperreports.engine.JRExporterParameter.INPUT_URL
  8. 這個參數是包含net.sf.jasperreports.engine.JasperPrint被序列化對象的URL,exporter在導出報表前會做檢測
  9. ? net.sf.jasperreports.engine.JRExporterParameter.INPUT_FILE_NAME
  10. 這個參數是存儲了net.sf.jasperreports.engine.JasperPrint被序列化對象的文件路徑,exporter在導出報表前會做檢測
  11. 注意:以上幾個參數不能全部為空
  12. ? net.sf.jasperreports.engine.JRExporterParameter.OUTPUT_STRING_BUFFER
  13. 這個參數是java.lang.StringBuffer的對象,存儲已經產生出的指定格式報表的內容
  14. ? net.sf.jasperreports.engine.JRExporterParameter.OUTPUT_WRITER
  15. 這個參數是java.io.Writer的對象,將指定格式報表的內容發送到一個字符流,例如Servlet的PrintWriter
  16. ? net.sf.jasperreports.engine.JRExporterParameter.OUTPUT_STREAM
  17. 這個參數是java.io.OutputStream的對象,將指定格式報表的內容發送到一個輸出流,例如ServletOutputStream
  18. ? net.sf.jasperreports.engine.JRExporterParameter.OUTPUT_FILE
  19. 這個參數是java.io.FILE的對象,將指定格式報表的內容存儲到文件里面
  20. ? net.sf.jasperreports.engine.JRExporterParameter.OUTPUT_FILE_NAME
  21. 這個參數是java.lang.String的對象,將指定格式報表的內容存儲到文件里面
  22. ? net.sf.jasperreports.engine.JRExporterParameter.CHARACTER_ENCODING
  23. 這個參數是java.lang.String的對象,指定格式報表的內容編碼
  24. ? net.sf.jasperreports.engine.JExcelApiExporterParameter.IS_FONT_SIZE_FIX_ENABLED
  25. 這個參數是java.lang.Boolean的對象,是否允許自動修正Excel每個欄位的大小
  26. ? net.sf.jasperreports.engine.JRXlsExporterParameter.IS_ONE_PAGE_PER_SHEET
  27. 這個參數是java.lang.Boolean的對象,每一頁是否用一個Sheet
  28. ? net.sf.jasperreports.engine.JRXlsExporterParameter. IS_REMOVE_EMPTY_SPACE_BETWEEN_ROWS
  29. 這個參數是java.lang.Boolean的對象,是否移除行與行之間的空行
  30. ? net.sf.jasperreports.engine.JRXlsExporterParameter.IS_WHITE_PAGE_BACKGROUND
  31. 這個參數是java.lang.Boolean的對象,頁面的背景是否為白的
  32. ? net.sf.jasperreports.engine.JRXlsExporterParameter.SHEET_NAMES
  33. 這個參數是java.lang.String的對象,Sheet的名字
  34. ? net.sf.jasperreports.engine.JRCsvExporterParameter.FIELD_DELIMITER
  35. 這個參數是java.lang.String的對象,欄位之間的分隔符
  36. ? net.sf.jasperreports.engine.JRCsvExporterParameter.RECORD_DELIMITER
  37. 這個參數是java.lang.String的對象,欄位之間的分隔符
  38. ? net.sf.jasperreports.engine.JRHtmlExporterParameter.IS_OUTPUT_IMAGES_TO_DIR
  39. 這個參數是java.lang.Boolean的對象,是否輸出圖片到目錄
  40. ? net.sf.jasperreports.engine.JRHtmlExporterParameter.IMAGES_DIR_NAME
  41. 這個參數是java.lang.String的對象,圖片目錄的絕對路徑
  42. ? net.sf.jasperreports.engine.JRHtmlExporterParameter.IMAGES_DIR
  43. 這個參數是java.io.File的對象,圖片目錄
  44. ? net.sf.jasperreports.engine.JRHtmlExporterParameter.IMAGES_URI
  45. 這個參數是java.lang.String的對象,通過Web訪問時圖片的URI

JasperReports報表的開發流程


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

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

【本文對您有幫助就好】

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

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 日韩网站在线 | 99re这里只有精品在线观看 | 日本人xxxxxxx中国 | 国产精品久久国产三级国电话系列 | 2020年国产高中毛片在线视频 | 欧美视频性 | 亚洲欧美一区二区三区 | 毛片免费永久不卡视频观看 | 亚洲精品一区二区三区五区 | 国产老年人性视频 | 亚洲va欧美va人人爽夜夜嗨 | 亚欧成人毛片一区二区三区四区 | 精品欧美高清一区二区免费 | 奇米线在人线免费视频 | 精品国产人成在线 | 欧美日韩国产欧美 | 亚洲九九香蕉 | 欧美一区在线观看视频 | 中文国产成人精品久久久 | 亚洲狠狠狠一区二区三区 | 夜色福利一区二区三区 | 日本高清免费不卡视频 | 四虎影视国产884a精品亚洲 | 婷婷国产在线 | 99热久久这里只精品 | 91精品视频在线播放 | 欧美成人性生活视频 | 99久久精品久久久久久清纯 | 911精品国产91久久久久 | 天天干天天操天天拍 | 亚洲国产一区视频 | 色综合久久中文字幕网 | 国产一级毛片国语普通话对白 | 亚洲精品一区二区久久久久 | 亚洲国产成人久久精品动漫 | 午夜在线| 国产精品国产高清国产专区 | 成人在线播放 | 国产精品九九九久久九九 | 久久精品123 | 久久综合久美利坚合众国 |