Spring 3 - 将数据导出为csv格式

12

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

Spring 3是否提供了此功能?

您知道如何实现吗?


Spring框架不提供CSV支持。不过,Java有很多CSV库(只需搜索“java csv”即可)。 - skaffman
1个回答

21

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

  1. 创建一个View类(您可以将其命名为CSVView),它继承org.springframework.web.servlet.view.AbstractView

  2. 按照以下方式覆盖renderMergedOutputModel(伪代码):

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

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

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

某种类型的循环 {writer.write(myDbData csv行); writer.newLine(); }

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

之后在控制器中以CSVView作为视图,使用模型(包含modelKeyWhatever对象)返回ModelAndView。


2
可以在https://dev59.com/Amkw5IYBdhLWcg3waZ1W找到另一种解决方案,但这只是个人口味问题。 - Boris Treukhov

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接