从 Excel 数据源 JasperReport 导出 Excel 报告

Export Excel report from an Excel datasource JasperReport

我正在尝试从现有的 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 文件相关的任何内容,或者是否有任何库可以帮助完成这项工作,如果有人有任何帮助或想法,我将不胜感激

谢谢

你可以使用 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();

其实我已经找到答案了, setParameters() 等方法在新版本的 iReport 中已被弃用。如果您仍然想使用它,您可以下载 4.5.0 库或更低版本 这个网站有一些关于如何解决这个问题的好信息:http://jasperreports.sourceforge.net/sample.reference/xlsxdatasource/index.html

希望对您有所帮助