用Java导出到CSV/Excel

WIO*_*www 6 java csv excel export

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

编辑:以防万一它不清楚,我不希望文件保存在任何地方,但希望它自动输出给用户,即他们点击导出并获得"运行/保存results.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) {
    }
}
Run Code Online (Sandbox Code Playgroud)

Kai*_*Kai 8

我建议使用像opencsv这样的框架.它也为你逃避和引用.