2

在现有系统中已经使用 jasper 5.0,据我所知,它使用 poi HSSF来生成 xls 数据,但是现在随着应用程序的增长,报告出现了要生成大计数事务的问题。

我已经搜索了解决方案,并找到了带有XSSF的 POI 。因为 jasper 也使用 POI HSSF,所以我考虑在 JASPER 内部使用 XSSF。

那可能吗?我怎么能做到这一点?我需要使用 jasper,因为现在无法更改现有应用程序。

4

1 回答 1

3

导出 jrxml 生成ooxml XSSF , 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 报告的分发中。

从 4.5 版开始可用,这JRXlsxExporterjasper 报告 5.5.0 API。在设置而不是属性的版本 4 参数中,请参阅jasperreports-export-to-xlsx-not-xls

于 2015-12-08T14:47:13.957 回答