我正在尝试从现有的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
我希望这可能有所帮助