Excel向けのCSVをUTF-8で。

な、なん(略

試しにBOM付きUTF-8で手作りしてみたら、Excel 2010でちゃんと読んでくれました。
他のバージョンは手元にないので確認できないのですが、ググったところ2003と2007でも読めるようなので心配なさそう。
いままで頑張ってCP932にしていたので、変換時の試行錯誤をまるっと省略できればだいぶ楽です。
CP932しか読んでくれないものと決めつけていました。

ただ改行コードはCR+LFにしないと行をちゃんと判断してくれないようです。
LFのみにしたら2行しかないのに行数オーバーってことでおこられました。

コメント

  1. ぱせら より:

    元々読み込むときにUTF-8って指定できた気がする(区切り文字とかを指定する画面で)。
    それがBOM付きだとうまいこと自動認識できるってことなのかな。

    ただし、保存するとCP932になるというスーパートラップがあるみたいなので、
    エクスポート→Excelで編集→インポート
    みたいなことやる場合は危険な予感

  2. yoshuki より:

    いま2010であらためて試してみたのだけれど、BOM付いていないとそのダイアログが出ませんでした。
    同じファイルをBOM付けてみたら出てきたので、やはりBOMがカギなんじゃないかと思いました。

    いつのまにか先頭ゼロ消されちゃってハマるとか、Excelを中間に挟むとトラブルの元ですな。

タイトルとURLをコピーしました