Rails导出CSV

版本  ruby 1.9  rails 3.2

完整代码

#引入CSV标准类库
require 'csv'
class PeopleController < ApplicationController
def index
  #SQL查询所有记录
    @people = Person.all
    respond_to do |format|
      format.html
      format.json{ render :json => @person.to_json }
      format.xml { render :xml => @person.to_xml }
      #生成csv的操作
      format.csv do
        csv_string = CSV.generate do |csv|
        # 首行标题行
            csv << ["Name", "Created At"]
            @people.each do |person|
                csv << [person.name, person.created_at]
            end
        end
    #渲染生成文件
        render :text => csv_string
      end
    end
end

最后浏览器打开http://localhost:3000/people.csv

同理如果打开 http://localhost:3000/people.json,http://localhost:3000/people.xml会得到json和xml格式的数据,非常方便。

posted @ 2013-08-24 19:58  飞凡123  阅读(740)  评论(0编辑  收藏  举报