Export 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.
Getting Started¶ ↑
In your Gemfile:
gem 'to_csv-rails'# Last officially released gem # gem "to_csv-rails", :git => "git://github.com/liangwenke/to_csv-rails.git" # Track git repo
or, to install as a gem:
gem install to_csv-rails
or, to install as a plugin:
rails plugin install git://github.com/liangwenke/to_csv-rails.git
In your controller:
def index @posts = Post.all respond_to do |format| format.html 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
In your view:
<%= link_to 'CSV Download', posts_path(:format => :csv %>
Advanced usage¶ ↑
@posts.to_csv @posts.to_csv(:only => [:title, :body]) @posts.to_csv(:except => [:id]) @posts.to_csv(:header => false)
Copyright¶ ↑
Copyright © 2010 liangwenke.com@gmail.com, released under the MIT license