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

我想生成一个报告,其中包括从数据库中的数据生成的Excel表。 我正在使用Apache POI HSSF在模型中创buildExcel表单文件。

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

只需使用一个servlet。 将response.getOutputStream()传递给POI HSSF以写入工作簿。 最重要的是Content-Disposition响应头。 如果您将其设置为attachment ,则浏览器将popup另存为对话框。

 response.setContentType("application/vnd.ms-excel"); response.setHeader("Content-Disposition", "attachment; filename=name.xls"); WritableWorkbook workBook = Workbook.createWorkbook(response.getOutputStream()); // ... 

然后让下载的URL指向那个servlet,如果有必要的话请求参数或者path信息。