2011-02-01 84 views
10

我在數據庫中有一些數據,並希望能夠將其導出到CSV文件並提供一個鏈接,以便用戶可以下載它。春季3 - 以csv格式導出數據

Spring 3爲此提供了什麼機制?

你知道我該怎麼做?

+0

Spring不提供CSV支持。雖然有很多用於Java的CSV庫(只搜索「java csv」)。 – skaffman 2011-02-01 17:36:56

回答

18

我想應該很容易建立一個CSV或任何文本文件視圖。以下是建議的步驟:

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

  1. 創建視圖類如下(僞代碼)(你可以將其命名爲CSVView)延伸org.springframework.web.servlet.view.AbstractView

  2. 覆蓋renderMergedOutputModel

    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();

此後只是在控制器與模型(對象WhatevermodelKey)和視圖退回的ModelAndView作爲CSVView

+0

非常感謝你,它的工作! – tsunade21 2011-02-02 15:13:59