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 でファイルを開くと、列が区切られていません。それらはすべて 1 つの列にあります。ファイルを notepad++ で開くと、「UCS-2 LE w/o BOM」でエンコードされていることがわかります。「UCS-2 リトル エンディアン」でエンコードされたファイルを保存して Excel で開くと、列が分離されます。

このエンコーディングでJavaでファイルを書き込んで、Excelで別々の列を表示するにはどうすればよいですか?

4

1 に答える 1

1

タブの代わりにコンマを使用します。

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

Excel が既定でタブで区切られたデータ列を区切るとは思えません。実行できますが、追加の手順が必要です。

于 2012-11-28T17:50:12.290 に答える