2012-01-11 106 views
-1

我想知道如何将表格的内容或查询中的数据导出到Excel文件。还有最好是导出到xls或csv的文件扩展名?Java:如何将数据(数据库,查询或表格内容)导出到Excel?

在此先感谢。


编辑:我要的是能够向JTable中含从查询 - 结果的内容导出到Excel兼容的文件,通过按下一个按钮的用户。

我不知道最好的办法是什么?我发现了各种方法,但我不确定要遵循哪一个。是否有可能生成一个JasperReport然后出口到Excel相同的数据?


Edit2:好的,所以我决定导出到.csv像大多数人一样建议。我最后的问题是哪一个更好用,opecsv或javacsv?两者似乎都很容易使用。

谢谢!

回答

3

导出为CSV文件更容易 - 并且可以在取决于数据的捏(每个新行是一个新行,单元格值之间用逗号隔开)手动完成 - 有可用的开源库这个(http://opencsv.sourceforge.net/),以及用于复制一个结果你输出的代码应该是微不足道的

+0

关于进一步的检查,请参阅http://opencsv.sourceforge.net/#sql-integration – tofarr 2012-01-11 14:19:57

0

您必须创建文本文件(csv)并写入数据库的结果。

PrintWriter out 
    = new PrintWriter(new BufferedWriter(new FileWriter("foo.csv"))); 

while(rs.next()) 
{ 
    out.println(String.format("%s,%s,%s",rs.getString(1),rs.getString(2),rs.getString(3)); 
} 
+0

@downvoter请关注添加评论。 – adatapost 2012-01-11 14:35:42

+1

我同意,这是一个完全有效的解决方案,并利用csv格式的简单性! – 2012-01-11 14:43:14

-1

我曾与JXLS良好的成功: http://jxls.sourceforge.net/

这可以让你使用JSP在本地Excel模板中使用所有格式设置等标签。您传递数据以替代该Excel模板通过Map结构(类似于请求范围变量)从Java API调用中吃掉。

如果您只是希望格式化Excel输出,那么这是JasperReports的一个很好的轻量级替代方案。

+0

@downvoter - 请评论? – wrschneider 2012-01-11 16:20:42

1

如果您绝对需要Excel,请使用Apache POI库。

+0

我将这个应用程序作为一个任务,教授说它必须能够导出到Excel。 – 2012-01-11 14:32:01

0

除了已经给出的答案之外,我想说我宁愿使用CSV。

CSV与应用程序无关,您可以在稍后使用任何其他语言/程序(Python,R,Java,Excel等)操作数据。

相关问题