Pythonで出力したUTF-8のCSVを渡したら「文字化けしてExcelで読めない」と言われて困りました
原因は文字コードがUTF-8の時によく問題になるBOM(バイトオーダーマーク)です
UTF-8のファイルにはBOMが付いている場合と付いていない場合があります
ExcelはBOMが付いていないと正しく読み込んでくれません
なので、例えばメモ帳で開いて保存し直すと、BOMが付いてExcelでも開けるようになります
今回の問題とは逆にBOMがついていると動かないこともあって、以前BOMが付いたUTF-8のファイルをChromeに渡したら何故か動かなくて悩みました
Google Chrome のユーザースクリプトで名前やバージョン番号が反映されない - 唯物是真 @Scaled_Wurm
ちなみにPythonだと文字コードにutf-8ではなくutf-8-sigを指定するとBOM付きのファイルを読み書きできます