Jasper Report with spring: формат и расширение файла не соответствуют xls - PullRequest
1 голос
/ 24 февраля 2020

Я тестирую приложение на Spring mvc, для составления отчетов с использованием JasperReports мой код такой:

        response.addHeader("Content-disposition", "attachment; filename=" + "testExcel.xls");
        response.setContentType("application/vnd.ms-excel");
        ServletOutputStream outputStream=response.getOutputStream();
        ServletContext context = request.getServletContext();
          String filename = "/WEB-INF/resources/jasperReports/testExcel.jasper";
          Map<String,Object> params = new HashMap<>();
          List<Customer>  listCustomer = service.listDataSource();
          JRBeanCollectionDataSource dataSource = new JRBeanCollectionDataSource(listCustomer);
            try {
                InputStream is = context.getResourceAsStream(filename);
                if (is != null) {
                    JasperReport report = JasperCompileManager.compileReport(is);
                    JasperPrint jasperPrint = JasperFillManager.fillReport(report, params, dataSource);
                    JRXlsExporter exporterXLSX = new JRXlsExporter();
                    exporterXLSX.setParameter(JRXlsExporterParameter.JASPER_PRINT, jasperPrint);
                    exporterXLSX.setParameter(JRXlsExporterParameter.IS_DETECT_CELL_TYPE, Boolean.TRUE);
                    exporterXLSX.setParameter(JRXlsExporterParameter.IS_REMOVE_EMPTY_SPACE_BETWEEN_ROWS, Boolean.TRUE);
                    exporterXLSX.setParameter(JRXlsExporterParameter.IS_WHITE_PAGE_BACKGROUND, Boolean.FALSE);
                    exporterXLSX.setParameter(JRXlsExporterParameter.OUTPUT_STREAM, outputStream);
                    exporterXLSX.exportReport();
                    is.close();
                    outputStream.flush();
                    outputStream.close();
                }
            } catch (JRException exp) {
                exp.printStackTrace();
            } 

и отчеты генерируются, но не могут открыться из-за ошибки: формат файла и расширение не соответствовать testExcel.xls, что не так, я не понимаю. Источник данных хорош, потому что я успешно сгенерировал PDF, используя его.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...