https://salayhin.wordpress.com/2014/05/10/export-csv-file-from-rails-console/
MacのExcelのエンコーディングはUTF-16LEかつ、BOMをヘッダに付けないといけないとのこと
http://hondou.homedns.org/pukiwiki/pukiwiki.php?Mac%20Mac%20%C8%C7%20Excel%20%A4%C7%20CSV%20%A4%F2%C6%C9%A4%DF%B9%FE%A4%E0
書いたコード
def generate_csv require 'csv' require 'date' retailers = Retailer.all.order('name ASC') header = ["id", "name", "created_at"] bom = "\xFF\xFE".force_encoding("UTF-16LE") data = CSV.generate("", headers: header, write_headers: true ) do |csv| retailers.each do |r| csv << [r.id, r.name.strip, r.created_at.strftime("%m/%d/%Y")] end end send_data(bom+data.encode("UTF-16LE"),filename: 'retailers.csv',type: 'text/csv') end