java - 在 Java 中导出到 CSV/Excel

标签 java excel csv export

我正在尝试通过 Java 将数据导出到 CSV 文件,并且我有一些代码可以执行此操作,但它似乎没有输出 CSV 文件。有人能告诉我出了什么问题吗?我想做的不是将文件保存在某个地方,而是希望将其直接导出给用户。

编辑:以防万一不清楚,我不希望将文件保存在任何地方,但希望将其自动输出给用户,即他们单击导出并获取“运行/保存结果.csv”窗口,然后打开文件。目前该文件正在保存,所以我知道该方法似乎有效,只是以与我想要的相反的方式。

public static void writeToCSV(List<Map> objectList) {
    String CSV_SEPARATOR = ",";
    try {
        BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(
                new FileOutputStream("results.csv"), "UTF-8"));
        for (Map objectDetails : objectList) {
            StringBuffer oneLine = new StringBuffer();
            Iterator it = objectDetails.values().iterator();

            while (it.hasNext()) {
                Object value = it.next();

                if(value !=null){
                    oneLine.append(value.toString());
                    }

                if (it.hasNext()) {
                    oneLine.append(CSV_SEPARATOR);
                }
            }
            bw.write(oneLine.toString());
            bw.newLine();
        }
        bw.flush();
        bw.close();
    } catch (UnsupportedEncodingException e) {
    } catch (FileNotFoundException e) {
    } catch (IOException e) {
    }
}

最佳答案

我建议使用像 opencsv 这样的框架为了那个原因。它还为您进行转义和引用。

关于java - 在 Java 中导出到 CSV/Excel,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33380493/

相关文章:

powershell - 如何比较两个具有不同标题行的 CSV 文件并从第一个文件中删除重复项?

java - 如何在不重复代码的情况下创建 JLabels(或其他元素)?

java - 从 Cron Job App Engine 调用端点类 - Java

java - EXCEPTION_ACCESS_VIOLATION (0xc0000005) - OpenGL 索引数组

oop - 在 VBA 中实现我自己的接口(interface) - 错误 : Object module needs to implement 'x' for interface 'y'

c# - 在 Excel、EPPlus、C# 中以编程方式隐藏选项卡

python - 如何为 Python GUI 创建一个按钮,以通过 .sh 文件选择 .csv 将数据加载到 Cassandra

python - 需要创建一个从 CSV 创建目录结构的脚本

Java使用多个表迭代HQL结果

perl - 在 Perl 中自动处理 Excel 文件并避免对话框/UI 交互