java - JasperReports 5.6 : JRXlsExporter. setParameter 已弃用

标签 java jasper-reports export deprecated

我有这段代码可以将 JasperReprot 导出到 XLS:

        JasperPrint jprint=JasperFillManager.fillReport(expRpg, null, new JRBeanCollectionDataSource(datalist));
        JRXlsExporter exporter = new JRXlsExporter();
        exporter.setParameter(JRXlsExporterParameter.JASPER_PRINT, jprint); 
        exporter.setParameter(JRXlsExporterParameter.OUTPUT_STREAM, outStream);
        exporter.setParameter(JRXlsExporterParameter.IS_DETECT_CELL_TYPE, Boolean.TRUE); 
        exporter.setParameter(JRXlsExporterParameter.IS_REMOVE_EMPTY_SPACE_BETWEEN_ROWS, Boolean.TRUE);
        exporter.exportReport();

升级到 JasperReports 5.6 所有 setParameter 都被标记为“已弃用”,我找不到修改此代码的文档。

如何使用 JasperReports 5.6 将报告导出到 xls?

最佳答案

JRExporter 在 5.6 中被弃用。他们引入了新的接口(interface) Exporter,并对所有导出器进行了改造,使其具有 ExporterInput、ReportExportConfiguration、ExporterConfiguration、ExporterOutput。见以下链接

http://jasperreports.sourceforge.net/api/net/sf/jasperreports/export/Exporter.html

这意味着您需要使用上述类或其子类创建配置,而不是 setParameter PDF 导出示例。 Excel 导出应遵循相同的方法

JRPdfExporter exporter = new JRPdfExporter();

exporter.setExporterInput(new SimpleExporterInput(jasperPrint));
exporter.setExporterOutput(outputStream);
SimplePdfExporterConfiguration configuration = new SimplePdfExporterConfiguration();
exporter.setConfiguration(configuration);

exporter.exportReport();

Excel 对应

JRXlsExporter exporter = new JRXlsExporter();
exporter.setExporterInput(new SimpleExporterInput(jasperPrint));
exporter.setExporterOutput(new SimpleOutputStreamExporterOutput(destFile));
SimpleXlsReportConfiguration configuration = new SimpleXlsReportConfiguration();
configuration.setOnePagePerSheet(true);
configuration.setDetectCellType(true);
configuration.setCollapseRowSpan(false);
exporter.setConfiguration(configuration);

exporter.exportReport();

SimpleXlsReportConfiguration 会有excel导出相关的配置。根据您的要求设置值

关于java - JasperReports 5.6 : JRXlsExporter. setParameter 已弃用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24117878/

相关文章:

java - 如何使用 Java API 分割以省略号连接的单词

java - Java 赋值期间的转换

jasper-reports - 避免在JRXML中重复列标题

java - Linux 和 Windows 上的 Jasper 是否有通用的字体格式来生成 pdf?

mysql - 通过 phpMyAdmin 以非字母顺序导出数据库表

image - 将带有图像的 Canvas 导出为图像(如 PNG 或 jpg)

python - 如何使用 RDFLib 导出 RDF 文件中的图形

java - 文本提取和分割打开简历

java - import org.opencv.imgcodecs.Imgcodecs无法解析

grails - Grails Jasper插件,导出到Excel时如何禁用白色背景?