-1

我想知道如何将表的内容或查询中的数据导出到 Excel 文件。还有哪个文件扩展名更适合导出到 xls 或 csv?

提前致谢。


编辑:我想要的是用户能够通过按下按钮将包含查询结果的 JTable 的内容导出到 Excel 兼容文件。

我不知道最好的方法是什么?我找到了各种方法,但我不确定该遵循哪一种。是否可以生成一个 JasperReport 然后将相同的数据导出到 excel 中?


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

谢谢!

4

5 回答 5

3

Exporting to csv is easier - and could be done manually in a pinch depending on the data (Each new row is a new line, and cell values are seperated by a comma) - There are open source libraries available for this (http://opencsv.sourceforge.net/), and the code for copying a resultset to your output should be trivial

于 2012-01-11T14:18:06.547 回答
1

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

于 2012-01-11T14:22:50.627 回答
0

除了已经给出的答案,我想说我更喜欢 CSV。

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

于 2012-01-11T14:25:20.280 回答
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));
}
于 2012-01-11T14:16:20.160 回答
-1

我在 jXLS 上取得了很好的成功:http: //jxls.sourceforge.net/

这使您可以在具有所有格式等的本机 Excel 模板中使用类似 JSP 的标签。您可以通过 Map 结构(类似于请求范围变量)从 Java API 调用中传递数据以替换该 Excel 模板。

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

于 2012-01-11T14:22:46.290 回答