Spring 3 - 以csv格式导出数据

发布于 2024-10-15 19:09:23 字数 100 浏览 1 评论 0原文

我在数据库中有一些数据,希望能够将其导出到 CSV 文件并提供链接以便用户可以下载它。

Spring 3 是否为此提供了任何机制?

你知道我该怎么做吗?

I have some data in the DB and would like to be able to export it to a CSV file and provide a link so the user can download it.

Is there any mechanism provided by Spring 3 for this?

Do you know how could I do that?

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

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

发布评论

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

评论(1

初相遇 2024-10-22 19:09:23

我想构建 CSV 或任何文本文件视图应该很容易。以下是建议的步骤:

  1. 创建一个扩展org.springframework.web.servlet.view.AbstractView的视图类(您可以将其命名为CSVView

  2. 覆盖 renderMergedOutputModel如下(伪代码):

BufferedWriter writer = new BufferedWriter(response.getWriter())

response.setHeader("Content-Disposition","attachment; filename=\"file.csv\"");

myDbData = (随便) modelMap.get("modelKey");

某种循环 {writer.write(myDbData csv row); writer.newLine(); }

最后 writer.flush(); writer.close();

之后,只需返回带有模型的 ModelAndView(带有 modelKey 的对象 Whatever)并在控制器。

I guess it should be easy to build a CSV or any text file view. Here are suggested steps:

  1. Create a View class (you can name it as CSVView) extending org.springframework.web.servlet.view.AbstractView

  2. Override renderMergedOutputModel as follows (pseudo code):

BufferedWriter writer = new BufferedWriter(response.getWriter())

response.setHeader("Content-Disposition","attachment; filename=\"file.csv\"");

myDbData = (Whatever) modelMap.get("modelKey");

some kind of loop {writer.write(myDbData csv row); writer.newLine(); }

finally writer.flush(); writer.close();

After that just return ModelAndView with model (object Whatever with modelKey) and view as CSVView in the controller.

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