如何用\ t作为分隔符编写csv文件?直截了当的方式不起作用

时间:2012-11-28 17:46:28

标签: java csv encoding

我使用以下代码编写csv文件:

public static void main(String[] args) throws IOException {
    String str = "aa\tbb\tcc\tdd";
    Writer writer = new OutputStreamWriter(new FileOutputStream(new File("c:\\test\\test.csv")), "UTF-16LE");
    writer.append(str);
    writer.flush();
    writer.close();
}

当我在excel中打开文件时,列没有分开。它们都在一列中。 我在notepad ++中打开文件,看到它用'UCS-2 LE w / o BOM'编码。 如果我保存用'UCS-2 Little endian'编码的文件并在excel中打开它,则列将被分开。

如何在此编码中用java编写文件,以便在excel中显示分隔的列?

1 个答案:

答案 0 :(得分:1)

使用逗号而不是标签,例如

String str = "aa,bb,cc,dd";

我不相信Excel会默认分隔用Tabs分隔的数据列。你可以这样做,但需要额外的一步。