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

发布于 2024-10-20 14:44:00 字数 109 浏览 1 评论 0原文

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

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

I want to generate a report which includes an excel sheet which is generated from the data from the database . I am using Apache POI HSSF for creating the excel sheet file in the model.

Now how to let the user download the file i have created ?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

落墨 2024-10-27 14:44:00

只需使用 servlet 即可。将 response.getOutputStream() 馈送到 POI HSSF 以写入工作簿。最重要的部分是 Content-Disposition 响应标头。如果将其设置为附件,则浏览器将弹出另存为对话框。

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

然后让下载 URL 指向该 servlet,如有必要,还可以包含一些请求参数或路径信息。

Just use a servlet. Feed response.getOutputStream() to POI HSSF to write the workbook to. Most important bit is the Content-Disposition response header. If you set it to attachment, then the browser will pop a Save As dialogue.

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

Then let the download URL point to that servlet, if necessary with some request parameters or path info.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文