Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cassandra/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java:如何将数据(数据库、查询或表格内容)导出到Excel?_Java_Export To Excel_Export To Csv - Fatal编程技术网

Java:如何将数据(数据库、查询或表格内容)导出到Excel?

Java:如何将数据(数据库、查询或表格内容)导出到Excel?,java,export-to-excel,export-to-csv,Java,Export To Excel,Export To Csv,我想知道如何将表的内容或数据从查询导出到Excel文件。另外,哪个文件扩展名更适合导出到xls或csv 提前谢谢 编辑:我希望用户能够通过按下按钮将JTable的内容(包含查询结果)导出到Excel兼容的文件中 我不知道最好的方法是什么?我找到了各种各样的方法,但我不确定该遵循哪种方法。是否可以生成JasperReport,然后将相同的数据导出到excel 编辑2:好的,所以我决定像你们大多数人建议的那样导出到.csv。我的最后一个问题是哪一个更好用,还是?两者似乎都很容易使用 谢谢 您必须

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

提前谢谢


编辑:我希望用户能够通过按下按钮将JTable的内容(包含查询结果)导出到Excel兼容的文件中

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


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


谢谢

您必须创建文本文件(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));
}

导出到csv更容易-并且可以根据数据在必要时手动完成(每一新行都是新行,单元格值用逗号分隔)-有可用于此的开放源代码库(http://opencsv.sourceforge.net/),用于将结果集复制到输出的代码应该很简单

我在jXLS方面取得了很好的成功:

这允许您在原生Excel模板中使用类似JSP的标记以及所有格式设置等。您可以通过映射结构(类似于请求范围变量)从Java API调用将要替换的数据传递到该Excel模板中


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

如果您确实需要Excel,请使用Apache POI库。

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


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

我将此应用程序作为一项作业,教授说它必须能够导出到Excel。我同意,这是一个完全有效的解决方案,并利用了CSV格式的简单性!