to_csv on Rails

This simple plugin gives you the ability to call to_csv to a collection of activerecords. The builder options are the same as to_json / to_xml, except for the :include.

Usage

@posts = Post.all

#
#  default are export header and all fileds
#

@posts.to_csv
@posts.to_csv(:only => [:title, :body])
@posts.to_csv(:except => [:id])
@posts.to_csv(:header => false)

Example

class PostsController < ApplicationController
  def index
    @posts = Post.all

    respond_to do |format|
      format.csv { send_data(@posts.to_csv) }
      #format.csv {

# filename = “posts-#Time.now.strftime(”%Y%m%d%H%M%S“).csv”

      #  send_data(@posts.to_csv, :type => "text/csv; charset=utf-8; header=present", :filename => filename)
      #}
    end
  end
end

Install

gem install to_csv-rails

gem 'to_csv-rails'
bundle install

git clone http://github.com/liangwenke/to_csv-rails.git

Note

Copyright © 2010 [email protected], released under the MIT license