我想生成一个报告,其中包括从数据库数据生成的Excel工作表。我正在使用Apache POI HSSF在模型中创建Excel工作表文件。
现在如何让用户下载我创建的文件?
只需使用一个servlet。馈response.getOutputStream()送给POI HSSF以将工作簿写入其中。最重要的位是Content- Disposition响应头。如果将其设置为attachment,则浏览器将弹出“ 另存为” 对话框。
response.getOutputStream()
Content- Disposition
attachment
response.setContentType("application/vnd.ms-excel"); response.setHeader("Content-Disposition", "attachment; filename=name.xls"); WritableWorkbook workBook = Workbook.createWorkbook(response.getOutputStream()); // ...
然后,如果有必要,使用一些请求参数或路径信息,使下载URL指向该servlet。