Возникло исключение «поток закрыт» - PullRequest
0 голосов
/ 01 июня 2018

В последнее время я разрабатываю код для экспорта данных в Excel.Я использовал apache POI для разработки этой функциональности.

Пожалуйста, рассмотрите код ниже.

public static void prepareDateForCSVGeneration(List<DataList> dataList,HttpServletResponse response)
            throws CashBookingInquiryServiceApplicationException {

         try (ServletOutputStream out = response.getOutputStream()) {
              XSSFWorkbook workbook = new XSSFWorkbook();
              //below method creates headers and rows
              convertToExcel(workbook, dataList);
              response.setContentType("text/vnd.ms-excel");
                response.setHeader("Content-Disposition", "attachment;filename=test.xlsx");
                workbook.write(out);
                out.flush();
            } catch (IOException exception) {
                System.out.println("Exceptin in excel "+exception.getMessage());
                exception.printStackTrace() ;
            }
    }

все работает нормально, означает, что файл Excel успешно загружается, но после этого в консоли выдается исключение:

Exceptin in excel Stream is closed
[err] java.io.IOException: Stream is closed
[err]     at com.ibm.ws.http.channel.internal.outbound.HttpOutputStreamImpl.validate(HttpOutputStreamImpl.java:213)
[err]     at [internal classes]

Не знаю, почему это происходит.

Я ссылался [ Исключение Java IO: Поток закрыт

но я сделалне найти конкретного решения.Подскажите, пожалуйста, что делать?Заранее спасибо.

...