我正在尝试通过 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/