JasperReport setParameter()已弃用?
我最近将我的项目的Jasper Reports库从 升级到了
。我终于可以进行Maven构建,并且报告工作得很好。但是,
函数在两个发行版之间似乎已被弃用,并且我不确定如何重构我的代码以适应此问题。
回答:
private static void exportMultipleToCSV(Collection<JasperPrint> jasperPrints, OutputStream baos) throws JRException { JRCsvExporter csvExporter = new JRCsvExporter();
csvExporter.setParameter(JRExporterParameter.JASPER_PRINT_LIST, jasperPrints);
csvExporter.setParameter(JRExporterParameter.OUTPUT_STREAM, baos);
csvExporter.setParameter(JRTextExporterParameter.PAGE_HEIGHT, Integer.valueOf(1500000));
csvExporter.setParameter(JRTextExporterParameter.PAGE_WIDTH, Integer.valueOf(40000000));
csvExporter.setParameter(JRTextExporterParameter.CHARACTER_WIDTH, Integer.valueOf(4));
csvExporter.setParameter(JRTextExporterParameter.CHARACTER_HEIGHT, Integer.valueOf(15));
csvExporter.exportReport();
}
我浏览了SourceForge页面,可以看到它已被 , 和
代替,但是我不确定如何一起使用它们来实现所需的输出。
回答:
等效的代码如下所示:
JRCsvExporter csvExporter = new JRCsvExporter();//jasperPrints is Collection, but we need a List
csvExporter.setExporterInput(SimpleExporterInput.getInstance(new ArrayList(jasperPrints)));
csvExporter.setExporterOutput(new SimpleWriterExporterOutput(baos));
SimpleCsvExporterConfiguration exporterConfiguration = new SimpleCsvExporterConfiguration();
//nothing to set here, but you could do things like exporterConfiguration.setFieldDelimiter
csvExporter.setConfiguration(exporterConfiguration);
csvExporter.exportReport();
请注意,旧的API允许您执行类似的操作csvExporter.setParameter(JRTextExporterParameter.PAGE_HEIGHT)
。这样做的问题是CSV导出器实际上没有使用该参数,只有文本导出器正在查看JRTextExporterParameter.PAGE_HEIGHT
。使用新的API,您可以清楚地对每个导出器执行哪些设置/配置。
以上是 JasperReport setParameter()已弃用? 的全部内容, 来源链接: utcz.com/qa/413970.html