JasperReports导出到xlsx,而不是xls
问题描述:
我无法找到如何在JasperReports 4.1.1中的.xlsx中导出文件。 类:
JasperReports导出到xlsx,而不是xls
JRXlsExporter
还没有一个XLSX等同。我无法找到一个参数来设置从xls到xlsx的输出格式。
答
JRXlsxExporter类应该用于输出为XLSX
格式。
使用的样品:
JRMapArrayDataSource dataSource = new JRMapArrayDataSource(data);
JasperReport jasperReport = JasperCompileManager.compileReport(reportJRXMLSource);
JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport, params, dataSource);
JRXlsxExporter exporter = new JRXlsxExporter();
exporter.setParameter(JRXlsExporterParameter.JASPER_PRINT, jasperPrint);
exporter.setParameter(JRXlsExporterParameter.OUTPUT_FILE_NAME, outputFileName);
exporter.exportReport();
答
JRXlsExporter在JasperReports的4.5和更高版本是可用的。
答
所有你需要做的就是把格式的请求路径,像这样:
@RequestMapping(value = "/ActivityReport.xlsx", method = RequestMethod.GET)
public ModelAndView generateActivityReportXLS(HttpServletRequest request, HttpServletResponse response) {
List<ActivityDisplay> list = activityManager.listActivities();
Map<String, Object> parameterMap = new HashMap<>();
parameterMap.put("datasource", new JRBeanCollectionDataSource(list));
return new ModelAndView("activitiesXLSView", parameterMap);
}
答
这个答案是帮助用户与JASPER报告版本> 5.6(最新版本),因此,删除弃用的代码。
在后来的版本> 5.6中,JRXlsxExporter.setParameter(..)
已经是deprecated
。
您应该使用
JRMapArrayDataSource dataSource = new JRMapArrayDataSource(data);
JasperReport jasperReport = JasperCompileManager.compileReport(reportJRXMLSource);
JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport, params, dataSource);
JRXlsxExporter exporter = new JRXlsxExporter();
exporter.setExporterInput(new SimpleExporterInput(jasperPrint));
File outputFile = new File("excelTest.xlsx");
exporter.setExporterOutput(new SimpleOutputStreamExporterOutput(outputFile));
SimpleXlsxReportConfiguration configuration = new SimpleXlsxReportConfiguration();
configuration.setDetectCellType(true);//Set configuration as you like it!!
configuration.setCollapseRowSpan(false);
exporter.setConfiguration(configuration);
exporter.exportReport();
你见过这样的:http://jasperreports.sourceforge.net/api/net/sf/jasperreports/engine/export/ooxml/JRXlsxExporter.html –
@Alex你应该把它放在答案中。 –
@jschoen好的,谢谢 –