我試圖讓我的JSF導出電子表格以供下載。我正在使用Apache的POI庫來編寫Excel文檔。我得到以下錯誤在一個警告框當代碼運行:XSSFWorkbook#write()導致空響應
emptyResponse: An empty response was received from the server.
的方法,生成所述電子表格,並導出到的OutputStream低於(I重命名的類中,爲了簡單起見,方法等)。
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();
}
任何意見非常感謝,謝謝。
如果它有所作爲,我在調用此方法的表單submit上使用AJAX(標記)。 –
2012-03-16 16:11:21