2012-02-22 596 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