先日、中小企業でのITコンサルティングで、CSVがExcelで文字化けするという話がありました。
具体的にいうと、例えば、
・「0123456」の値が最初の「0」が消えて「123456」になる
・「1234567890」の値が「1.23E+09」になる
などです。
これは、正式にいえば文字化けではなく、Excelの仕様によるものです。
上記の文字列を含むCSVをExcelで読み込むと、文字データとしてではなく数値として認識してしまうので、頭の「0」が抜けたり、桁数が多すぎると浮動小数点形式で表示されたりします。
これをインポート&エクスポートすると、希望した通りのCSVにならないことがある、という訳です。
もっというと、文字まで化けているときには、Shift-JISではなく、UTF-8やEUC-JPなど他の文字コードで保存されたCSVファイルだったりすることもあります。
でも正直、「それはExcelの都合でしょ!」ということなので、それを解決するツールがあります。
【レビュー】ExcelのCSVインポート・エクスポート機能を強化する「Excel CSV I/O」 – 窓の杜
この「Excel CSV I/O」は、上記のような問題をすべて解決してくれます。
カンマ区切り(CSV)、タブ区切り(TSV)、改行コード(LF、CR、LF+CR)、文字コード(Shift-JIS、UTF-8、EUC-JP)、ダブルクォーテーション(”)で括るか否か、など、CSVとExcelのインポート&エクスポートに関する本当にかゆいところに手が届いてくれるツールです。
作者の方に感謝しつつ、ぜひ使ってみてください!