我想生成一个报告,其中包含一个从数据库中的数据生成的 excel 表。我正在使用 Apache POI HSSF 在模型中创建 excel 工作表文件。
现在如何让用户下载我创建的文件?
我想生成一个报告,其中包含一个从数据库中的数据生成的 excel 表。我正在使用 Apache POI HSSF 在模型中创建 excel 工作表文件。
现在如何让用户下载我创建的文件?
只需使用 servlet。馈送response.getOutputStream()
到 POI HSSF 以将工作簿写入其中。最重要的一点是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,如有必要,使用一些请求参数或路径信息。