Nie mogę znaleźć sposobu eksportu pliku w .xlsx w JasperReports 4.1.1. Klasa:
Eksport JasperReports do xlsx, nie xls
JRXlsExporter
posiada ona równowartość XLSX. I nie mogę znaleźć parametru do ustawienia formatu wyjściowego z xls na xlsx.
Nie mogę znaleźć sposobu eksportu pliku w .xlsx w JasperReports 4.1.1. Klasa:
Eksport JasperReports do xlsx, nie xls
JRXlsExporter
posiada ona równowartość XLSX. I nie mogę znaleźć parametru do ustawienia formatu wyjściowego z xls na xlsx.
Klasa JRXlsxExporter powinna być używana do eksportu do formatu XLSX
.
Próba użycia:
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();
Czy musimy zaktualizować wersję do wyższej? Używam 'jasperreports-3.7.6' – NaaN
@tailorBird Wersja 3.7.0 zawiera tę klasę. Ostatnia wersja * JR * to 5.5.1 –
Dzięki @Alex K. Właściwie zadałem pytanie [wcześniej] (http://stackoverflow.com/questions/22497343/jrxlsexporter-invalid-row-number-65536-outside dopuszczalny zakres) w odniesieniu do tego. Znalazłem odpowiedź tutaj. Spróbuję tego. – NaaN
JRXlsExporter dostępna jest w w JasperReports 4.5 i nowszych wersjach.
Wszystko, co musisz zrobić, to umieścić format, w drodze żądania, tak:
@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);
}
Ta odpowiedź jest pomoc użytkownikom JASPER RAPORT wersja> 5,6 (najnowsze wersje), stąd usuń przestarzały kod.
W nowszej wersji> 5.6 JRXlsxExporter.setParameter(..)
został deprecated
.
Należy użyć
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();
Widzieliście to: http://jasperreports.sourceforge.net/api/net/sf/jasperreports/engine/export/ooxml/JRXlsxExporter.html –
@Alex Powinieneś umieść to w odpowiedzi. –
@jschoen OK, dziękuję –