В последнее время я разрабатываю код для экспорта данных в 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: Поток закрыт
но я сделалне найти конкретного решения.Подскажите, пожалуйста, что делать?Заранее спасибо.