如何让用户从Java / Struts中的Web应用程序将数据库中的数据下载到Excel工作表文件?

时间:2011-03-03 07:12:20

标签: excel jsp struts apache-poi poi-hssf

我想生成一个包含excel表的报告,该表是从数据库中的数据生成的。我正在使用Apache POI HSSF在模型中创建Excel工作表文件。

现在如何让用户下载我创建的文件?

1 个答案:

答案 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,如果需要,请提供一些请求参数或路径信息。