rails webアプリケーションの作成時に、「一覧データをExcelで開きたい」という要望をよく伺います。 そこで本記事ではrailsアプリにデータの一覧をcsv形式でダウンロード出来る機能を追加する方法について解説します。 まずはモデルにCSV形式のデータを返却するメソッドを定義します。 今回は例として商品(Item)モデルを扱い、商品モデルは商品名と価格のカラムを持つということにします。 CSVファイルを扱うには、標準のCSVパッケージを使うのが簡単です。 ファイルサイズが巨大(例えば 100Mバイト以上)で無ければ性能的にも問題ないでしょう。 require 'csv' class Item < ActiveRecord::Base def self.to_csv headers = %w(ID 商品名 価格 作成日時 更新日時) csv_data = CSV.generate(h