ExcelからCSV形式で保存するには、「名前を付けて保存」ダイアログでCSV(カンマ区切り)を選択すればOKです。
#エクスポートしたいところですが、保存しかできないようですね。連続でやるときにはすごく不便。
ところが、これをやると、文字化けが発生してしまうことがあります。
現象
半角スペースが含まれるExcelファイルで、Excel上で見るぶんには問題ないのですが、これをCSVエクスポートすると、1行目だけ文字化けします。
- ダウンロード: テスト用xlsファイル
CSVにエクスポートしてExcelで開くと、上の行だけ文字化けする
原因
これは、同じ半角スペースに見えても「CODE=32(0x20)」の「半角スペース」と、「CODE=160(0xA0)」の「NBSP」があるのが原因になっています。
0xA0
のNBSPはShift-JISでは表現できないので、保存時に「?」に文字化けしてしまいます。
解決方法
これを解消するには、160のNBSPを32の半角スペースに一括置換すれば良いです。
1. 適当なセルに「=CHAR(160)
」という数式を入力して、その結果をコピーします。
2. その後、Ctrl+Fの「置換」タブで、「検索する文字列」にコピーした内容をペースト、「置換後の文字列」に普通の半角スペースを入力して、「すべて置換」すればOKです。
これで、見た目は変わらないけど文字化けしないExcelファイルができました。
というか、普通に使っていればこんな問題は起きないんですが、なぜか送られてきたExcelがこんなことになっていて・・・
先方はどんな使い方をしていたんでしょうね?
更新情報