2015-12-08 59 views
2

在現有的系統中已經使用jasper 5.0,據我所知它使用poi HSSF來生成xls數據,但現在隨着應用程序的增長,報告出現了一個大數生成事務的問題。如何設置Jasper使用XSSF?

我有搜索的解決方案,並發現與XSSF POI。由於Jasper也使用POI HSSF,我正考慮在JASPER內部使用XSSF。

這可能嗎?以及我如何能做到這一點?我需要使用jasper,因爲現在無法更改現有的應用程序。

回答

3

要導出JRXML產生OOXMLXSSF,excel文件xlxs

使用net.sf.jasperreports.engine.export.ooxml.JRXlsxExporter

例子:

JasperPrint jasperPrint = JasperFillManager.fillReport(report, paramMap, connection); //Example of how to get the jasper print 

JRXlsxExporter exporter = new JRXlsxExporter(); 
exporter.setExporterInput(new SimpleExporterInput(jasperPrint)); 
File outputFile = new File("excelTest.xlsx"); 
exporter.setExporterOutput(new SimpleOutputStreamExporterOutput(outputFile)); 
SimpleXlsxReportConfiguration configuration = new SimpleXlsxReportConfiguration(); 
configuration.setOnePagePerSheet(false); //Set configuration as you like it!! 
configuration.setDetectCellType(true); 
configuration.setCollapseRowSpan(false); 
exporter.setConfiguration(configuration); 
exporter.exportReport(); 

當然,你需要相關的庫(POI-ooxml.jar, poi-ooxml-schemas.jar,xmlbeans.jar),它們出現在jasper報告的分佈中。

JRXlsxExporter自版本4.5開始提供這是jasper report 5.5.0 API。在版本4參數設置而不是屬性請參閱jasperreports-export-to-xlsx-not-xls

+0

這就是我所尋找的,謝謝你的aswer。 – Angripa