こんにちは。10分で生産的なミーティングができるWeb会議ツールminmeetingを開発している伊勢川です。
本日は若干マニアックだけど誰もが一度はハマったことがある、ExcelでCSVを扱う際の文字化け問題を解消するもう一つの方法を紹介します。
DBUnitを用いてテストをしている場合、CSVでデータを作るのが便利です。データが少ないうちはテキストエディタで十分なのですが、テストケースが増えてくるとExcelのオートフィルや関数の機能を使ってデータを作りたくなってきます。
ところがExcelを使うと、データの中に日本語が入っていると文字化けしてしまいます。また、関数を使った瞬間に拡張子をxlsxに変えろとか、つれないことを言ってきます。WindowsではBOMをつければ開けますが、Macでは文字コードまで変えなければならず、だんだん面倒くさくなってきます。
最近気づいたのですが、このような問題はGoogle Spreadsheetが全て解決していたようです。
Google Spreadsheetの左上のファイルメニューからCSVで出力を選ぶと、CSVファイルに変換してくれます。

また、関数が入っていても、値として出力してくれます。

例えば上記のように関数の入ったSpreadsheetをCSVファイルとして出力すると、下記のようにちゃんと値を出力してくれます。また、デフォルトでUTF-8のCRLFで出力してくれます。

こんなに簡単にExcelの文字化け問題とおさらばする方法があったとは知りませんでした。
どうしてもExcelと格闘したい人は、下記の記事もぜひご参考にしてください。