欧美三区_成人在线免费观看视频_欧美极品少妇xxxxⅹ免费视频_a级毛片免费播放_鲁一鲁中文字幕久久_亚洲一级特黄

JasperReports報(bào)表的開(kāi)發(fā)流程

系統(tǒng) 2224 0

JasperReports的開(kāi)發(fā)流程

1. 開(kāi)發(fā)報(bào)表設(shè)計(jì)文件,也就是一個(gè)*.jrxml文件。

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

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

4. 使用導(dǎo)出管理器JasperExportManager或者各種格式的文件導(dǎo)出器JRXxxExporter將*.jrprint文件導(dǎo)出成各種格式的報(bào)表文件。也可以使用JRViewer工具類(lèi)來(lái)直接瀏覽報(bào)表。也可以使用打印管理器JasperPrintManager來(lái)打印報(bào)表。

?

在JasperReports開(kāi)發(fā)過(guò)程中,報(bào)表源文件開(kāi)各種格式的報(bào)表文件要經(jīng)過(guò)下圖所示的過(guò)程:

在JasperReports的開(kāi)發(fā)流程中,JasperReports共涉及以下幾個(gè)類(lèi):

?

net.sf.jasperreports.engine.design.JasperDesign

對(duì)應(yīng)報(bào)表設(shè)計(jì)文件在內(nèi)存中的形式,也就是對(duì)應(yīng)的*.jrxml文件。

?

net.sf.jasperreports .engine.JasperReport

對(duì)應(yīng)二進(jìn)制報(bào)表文件在內(nèi)存中的形式,也就是對(duì)應(yīng)的*.jasper文件。

net.sf.jasperreports . engine.JasperPrint

對(duì)應(yīng)可顯示報(bào)表設(shè)計(jì)文件在內(nèi)存中的形式,也就是對(duì)應(yīng)的*.jrprint文件。這時(shí)可以通過(guò)JasperReports內(nèi)建的報(bào)表查看器直接使用,也可以序列化后存儲(chǔ)到磁盤(pán)上以后使用,更甚于通過(guò)網(wǎng)絡(luò)發(fā)送給他處使用。

net.sf.jasperreports.engine.xml.JRXmlLoader

當(dāng)調(diào)用這個(gè)方法來(lái)載入一個(gè)對(duì)象時(shí),程序會(huì)先通過(guò)一個(gè)有效的URL來(lái)解析路徑。如果失敗了,程序就會(huì)認(rèn)為這是一個(gè)文件路徑并且嘗試去讀取。如果這個(gè)文件也沒(méi)有被發(fā)現(xiàn),程序就會(huì)嘗試在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

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

?

  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

這個(gè)類(lèi)用于報(bào)表填充的。報(bào)表填充就是為報(bào)表的數(shù)據(jù)查詢(xún)提供數(shù)據(jù)庫(kù)連接,給報(bào)表的參數(shù)設(shè)置值等。填充之前是*.jasper文件,經(jīng)過(guò)填充后就變成了*.jrprint文件--這是一個(gè)可顯示或者可導(dǎo)出成報(bào)表的文件。

參數(shù)的值通常通過(guò)一個(gè)java.util.Map對(duì)象來(lái)提供,這個(gè)Map對(duì)象的鍵是報(bào)表參數(shù)的名字。

數(shù)據(jù)源在不同的情況下可以通過(guò)兩種方式提供:通常情況下,它必須作為一個(gè)JRDataSource對(duì)象被提供。但是由于大多數(shù)的報(bào)表所填的值都是從關(guān)系數(shù)據(jù)庫(kù)取出來(lái)的。JasperReports有一個(gè)內(nèi)建的默認(rèn)行為,可以讓人們?cè)趫?bào)表設(shè)計(jì)的時(shí)候就指定一條SQL查詢(xún)語(yǔ)句。當(dāng)在運(yùn)行時(shí)填充報(bào)表的時(shí)候,執(zhí)行SQL查詢(xún)語(yǔ)句來(lái)獲得需要填充的值。在這種情況下,JasperReports需要的僅僅是一個(gè)java.sql.Connection對(duì)象,一個(gè)通常的數(shù)據(jù)源對(duì)象的實(shí)例。JasperReports需要使用這個(gè)連接對(duì)象通過(guò)JDBC連接到關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng),并且執(zhí)行報(bào)表查詢(xún)。

在執(zhí)行了報(bào)表查詢(xún)后,JasperReports會(huì)自動(dòng)創(chuàng)建一個(gè)net.sf.jasperreports.engine.JRResultSetDataSource對(duì)象來(lái)封裝java.sql.ResultSet對(duì)象,并將它傳給普通的填充過(guò)程使用。

  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

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

  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

這個(gè)管理類(lèi)對(duì)不同來(lái)源和不同去處(文件、輸入輸出流等)的數(shù)據(jù)提供不同的方法。 用于將可顯示的報(bào)表導(dǎo)出成各種格式的報(bào)表文件,例如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

這是一系列的文件導(dǎo)出器,它們用于將*.jrprint文件導(dǎo)出成對(duì)應(yīng)格式的報(bào)表文件。 例如 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

這個(gè)類(lèi)可以直接將*.jasper文件導(dǎo)出成各種格式的報(bào)表文件,有時(shí)候在報(bào)表填充過(guò)程中我們不希望生成中間的net.sf.jasperreports.engine.JasperPrint對(duì)象,而直接生成我們所需要的文檔格式,例如: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在報(bào)表數(shù)據(jù)來(lái)源方面是具有高柔韌性的。人們可以使用任意的數(shù)據(jù)源,前提條件就是能夠提供一個(gè)這個(gè)接口的恰當(dāng)?shù)膶?shí)現(xiàn)。這樣報(bào)表引擎可以在填充報(bào)表時(shí)從數(shù)據(jù)源解析和檢索數(shù)據(jù)。

通常來(lái)說(shuō),如果一個(gè)報(bào)表填充了數(shù)據(jù),肯定有一個(gè)這個(gè)接口的實(shí)例被報(bào)表引擎提供或創(chuàng)建。

net.sf.jasperreports . engine.JREmptyDataSource

作為最簡(jiǎn)單的net.sf.jasperreports.engine.JRDataSource接口的實(shí)現(xiàn),這個(gè)類(lèi)可以在不希望顯示從數(shù)據(jù)源獲得的數(shù)據(jù),而只關(guān)心數(shù)據(jù)源的虛擬行數(shù)時(shí)在報(bào)表中使用。

在提供的例子里有不少在填充報(bào)表時(shí)用到了這個(gè)類(lèi)的實(shí)例,例如:fonts、images、shapes和unicode。這樣做是為了模擬一個(gè)有一條空記錄的數(shù)據(jù)源。

net.sf.jasperreports . engine.JRResultSetDataSource

這個(gè)類(lèi)是net.sf.jasperreports.engine.JRDataSource接口的一個(gè)默認(rèn)實(shí)現(xiàn)。由于大多數(shù)的報(bào)表都由關(guān)系數(shù)據(jù)庫(kù)的數(shù)據(jù)生成,JasperReports包含了一個(gè)封裝了java.sql.ResultSet對(duì)象的默認(rèn)實(shí)現(xiàn)。

這個(gè)類(lèi)有著明確的目的:在傳給報(bào)表填充測(cè)試之前封裝已經(jīng)載入的數(shù)據(jù)集。在執(zhí)行了通過(guò)JDBC的報(bào)表查詢(xún)后它會(huì)被用來(lái)封裝從數(shù)據(jù)庫(kù)獲得的數(shù)據(jù)。

net.sf.jasperreports . engine.data.JRTableModelDataSource

這個(gè)類(lèi)是net.sf.jasperreports.engine.JRDataSource接口的另外一個(gè)默認(rèn)實(shí)現(xiàn)。它封裝了javax.swing.table.TableModel對(duì)象。它可以在Java Swing應(yīng)用程序中通過(guò)已經(jīng)載入的屏幕表格的數(shù)據(jù)生成報(bào)表。

net.sf.jasperreports.engine.data. JRBeanCollectionDataSource

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

?

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

?

net.sf.jasperreports.swing.JRViewer

這個(gè)類(lèi)和上面說(shuō)到的類(lèi)不大一樣,說(shuō)它是一個(gè)實(shí)用類(lèi)不如說(shuō)是一個(gè)顯示插件。它可以用在基于Swing的應(yīng)用程序里來(lái)顯示JasperReports生成的報(bào)表。

這個(gè)可視化組件并不能滿(mǎn)足每一個(gè)人。它被當(dāng)作一個(gè)例子組件被包含在主類(lèi)庫(kù)中,用來(lái)顯示核心打印功能可以在基于Swing的應(yīng)用程序里通過(guò)net.sf.jasperreports.engine.JasperPrintManager類(lèi)生成java.awt.Image對(duì)象來(lái)顯示報(bào)表。

如果想修改這個(gè)組件使其滿(mǎn)足應(yīng)用程序的需求,首選的方法是使用它的子類(lèi)。

  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

這也是一個(gè)以教學(xué)為目的的類(lèi)。它使用了net.sf.jasperreports.swing.JRViewer組件來(lái)顯示報(bào)表。它是一個(gè)簡(jiǎn)單的Java Swing應(yīng)用程序,可以裝載和顯示報(bào)表。它在提供的例子中被廣泛的使用,用來(lái)顯示生成的文檔。

net.sf.jasperreports .view.JasperDesignViewer

通常,一個(gè)使用JasperReports來(lái)生成報(bào)表的應(yīng)用程序如果使用了這個(gè)類(lèi)將不能運(yùn)行。這個(gè)類(lèi)可以在設(shè)計(jì)階段用來(lái)預(yù)覽報(bào)表模版。它被當(dāng)作一個(gè)用作可視化設(shè)計(jì)而使用的開(kāi)發(fā)工具提供。

net.sf.jasperreports . engine.JRAbstractScriptlet

腳本程序(Scriptlets)是JasperReports類(lèi)庫(kù)中一個(gè)非常強(qiáng)大的功能。它可以讓用戶(hù)自己編寫(xiě)在填充過(guò)程中可以被報(bào)表引擎執(zhí)行的代碼。用戶(hù)代碼可以在一個(gè)定義良好的片斷(例如:頁(yè)、列或者組)里操作報(bào)表數(shù)據(jù);為生成的文檔建立一個(gè)新的range。

net.sf.jasperreports . engine.JRDefaultScriptlet

這是net.sf.jasperreports.engine.JRAbstractScriptlet的一個(gè)便利的子類(lèi)。大多數(shù)時(shí)間用戶(hù)在使用腳本程序時(shí)會(huì)選擇這個(gè)類(lèi),這樣他們就不需要實(shí)現(xiàn)抽象類(lèi)里定義的所有抽象方法了。

?

附:Exporter常用參數(shù)說(shuō)明

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

JasperReports報(bào)表的開(kāi)發(fā)流程


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

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號(hào)聯(lián)系: 360901061

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

【本文對(duì)您有幫助就好】

您的支持是博主寫(xiě)作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長(zhǎng)會(huì)非常 感謝您的哦!!!

發(fā)表我的評(píng)論
最新評(píng)論 總共0條評(píng)論
主站蜘蛛池模板: 国产精品无码人妻无码色情多人 | 国产一区二区免费 | 欧美精品黄页免费高清在线 | www.国产欧美 | 国产丫丫视频私人影院 | 久草在线视频精品 | 国产成人免费精品 | 国产精品视频第一页 | 日韩成人黄色 | 精品久久久久久国产 | 国产91色在线 | 亚洲 | 国产一区在线观看视频 | 私房色播 | 加勒比精品久久一区二区三区 | 中文字幕在线播放 | 日韩色小说 | 天天在线欧美精品免费看 | 午夜男人女人爽爽爽视频 | 久久com | 日本精品在线播放 | 亚洲精品国精品久久99热 | 欧美色综合天天久久综合精品 | 国产精品一区二 | 乳罩双性受给攻喂奶高h | 国产精品久久一区二区三区 | 午夜手机福利 | 山岸逢花在线观看 | 九色视频网 | 九一免费在线观看 | 中文字幕一区二区三区四区不卡 | 亚洲高清久久 | 伊人久久国产精品 | 抱着cao才爽免费观看 | 青草视频网站在线观看 | 91成人影院 | 久草视频精品 | 日本一本久草 | 天堂成人在线 | 国产精品二区三区 | 欧美一级毛片免费播放器 | 日韩精品在线一区 |