从Excel数据源JasperReport导出Excel报告

时间:2019-02-27 11:36:56

标签: java excel xlsx ireport

我正在尝试从现有的jasperreport模板自动创建报告,我已经使用CSV文件完成了此操作,这是CSV文件代码的一部分:

Map parameters = new HashMap();
parameters.put("ReportTitle", "Address Report");
parameters.put("DataFile", name+".csv - CSV data source");
Set states = new HashSet();
states.add("Active");
states.add("Trial");
parameters.put("IncludedStates", states);

JasperPrint print = JasperFillManager.fillReport("../Desktop/Test/"+name+".jasper", parameters, getDataSource(name));

JRExporter exporter = new JRPdfExporter();
exporter.setParameter(JRExporterParameter.OUTPUT_FILE_NAME,  "../Desktop/Test/"+name+format.format(new Date())+".pdf");
exporter.setParameter(JRExporterParameter.JASPER_PRINT, print);
JasperExportManager.exportReportToPdfFile(print, "../Desktop/Test/"+name+format.format(new Date())+".pdf");

但是我没有找到任何与xlsx文件相关的信息,或者没有任何可以帮助完成此工作的库,如果有人有帮助或想法,我将不胜感激

谢谢

2 个答案:

答案 0 :(得分:1)

您可以使用 JRXlsxExporter

这里Demo

JRXlsxExporter exporter = new JRXlsxExporter();
exporter.setParameter(JRExporterParameter.JASPER_PRINT, jasperPrint);
exporter.setParameter(JRExporterParameter.OUTPUT_FILE_NAME, destFile.toString());
exporter.setParameter(JRXlsExporterParameter.IS_ONE_PAGE_PER_SHEET, Boolean.FALSE);

exporter.exportReport();

答案 1 :(得分:0)

实际上我找到了答案, 较新版本的iReport已弃用了setParameters()等方法。如果仍要使用它,则可以下载4.5.0个库或更低版本的库 该网站提供了一些有关如何解决此问题的好信息:http://jasperreports.sourceforge.net/sample.reference/xlsxdatasource/index.html

我希望这会有所帮助