我想生成一个包含excel表的报告,该表是从数据库中的数据生成的。我正在使用Apache POI HSSF在模型中创建Excel工作表文件。
现在如何让用户下载我创建的文件?
答案 0 :(得分:4)
只需使用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,如果需要,请提供一些请求参数或路径信息。