0

我使用以下代码编写一个 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 中打开文件时,列没有分开。它们都在一列中。我在记事本++ 中打开文件,看到它用“UCS-2 LE w/o BOM”编码。如果我保存用“UCS-2 Little endian”编码的文件并在 excel 中打开它,则列是分开的。

如何以这种编码在 java 中编写文件,以便它在 excel 中显示单独的列?

4

1 回答 1

1

使用逗号而不是制表符,例如

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

我不相信 Excel 默认情况下会分隔以制表符分隔的数据列。你可以这样做,但它需要一个额外的步骤。

于 2012-11-28T17:50:12.290 回答