다운로드 할 스프레드 시트를 내 JSF로 내보내려고합니다. Excel 문서 작성을 위해 Apache의 POI 라이브러리를 사용하고 있습니다.XSSFWorkbook # write() 결과가 비어 있습니다.
emptyResponse: An empty response was received from the server.
방법 스프레드 시트를 생성하고, OutputStream에 수출 (나는 단순 위해서 클래스, 메소드 등을 이름을 변경 한) 다음과 같습니다 : 코드가 실행될 때 내가 경고 상자에 다음과 같은 오류가 발생합니다.
private void generateSpreadsheet(Object object) throws Exception {
FacesContext context = FacesContext.getCurrentInstance();
HttpServletResponse response = (HttpServletResponse)context.getExternalContext().getResponse();
String fileName = object.getProperty() + ".xlsx";
response.setContentType("application/vnd.ms-excel");
response.setHeader("Content-Disposition", "attachment;filename=\"" + fileName +"\"");
OutputStream os = response.getOutputStream();
Workbook wb = new XSSFWorkbook();
Sheet sheet = wb.createSheet("Sheet 1");
Row row = sheet.createRow(0);
Cell cell = row.createCell(0);
cell.setCellValue("test");
wb.write(os);
os.flush();
os.close();
FacesContext.getCurrentInstance().responseComplete();
}
감사의 말에 감사드립니다. 내가 양식에 AJAX (<f:ajax>
태그)를 사용하고 그 차이를 만드는 경우
차이가 있다면이 메소드를 호출하는 양식 제출에 AJAX ( 태그)를 사용하고 있습니다. –