我试图让我的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