2012-02-22 594 views
2

我需要生成csv文件,並且偶然發現了我們的項目中使用Apache POI生成Excel表格的模塊。所以我想我可以使用相同的方式來生成csv。所以我問谷歌的兄弟,但他無法找到任何可以肯定的說Apache POI可以用於生成CSV文件。我也在檢查以下api,它只會談論xls表單而不是任何地方的csv。有任何想法嗎?使用Apache POI可以生成CSV文件嗎?

http://poi.apache.org/apidocs/org/apache/poi/ss/usermodel/Workbook.html

回答

8

的Apache POI不會輸出到CSV爲您服務。然而,你有幾個很好的選擇,取決於你寫入csv的數據類型。

如果您知道任何單元格都不會包含csv標記(例如逗號,引號,行結尾),則可以遍歷數據行並將文本複製到StringBuffer中並將其發送到常規Java IO。 這裏是沿着這些線路寫一個SQL查詢到CSV的例子:Poi Mailing List: writing CSV

否則,而不是找出如何自己逃跑的特殊字符,你應該看看opencsv project

+1

我發現,如果它是一個簡單的CSV一代,那麼它將會是那麼簡單,以下.......這爲我工作。 \t \t \t \t'FileWriter writer = new FileWriter(file.csv); \t \t writer.append(「columnheading」); \t \t writer.append('\ n'); \t \t writer.append(columnvalue); \t \t writer.flush(); \t \t writer.close();' – reddyvaribabu 2012-02-23 00:26:49

4

如果選中官方網站網站Apache POI,你可以找到很多的例子。還有一個例子顯示瞭如何通過使用apache POI來獲得csv格式的輸出。

ToCSV example