Skip to content
This Rails plugin is the easiest way to export to Excel. It gives you the ability to call to_xls to a collection of activerecords. The builder options are the same as to_json / to_xml, except for the :include.
Ruby
Latest commit a8a54f6 Feb 16, 2010 @arydjmal Fixed typo in test_helper
Failed to load latest commit information.
lib Use human_attribute_name for headers Feb 16, 2010
test Fixed typo in test_helper Feb 16, 2010
MIT-LICENSE first commit Jan 11, 2009
README.rdoc fixed readme. Feb 16, 2010
init.rb first commit Jan 11, 2009

README.rdoc

to_xls plugin

This Rails plugin is the easiest way to export to Excel. It gives you the ability to call to_xls to a collection of activerecords (Array). The builder options are the same as to_json / to_xml, except for the :include.

NOTE: IMO I would use the to_csv plugin; it's more compatible. (github.com/arydjmal/to_csv)

Usage

@users = User.all

#
# defaults are export headers and all fields
#

@users.to_xls
@users.to_xls(:only => [:last_name, :role])
@users.to_xls(:headers => false)
@users.to_xls(:except => [:last_name, :role])
@users.to_xls(:methods => :admin?)

Real life example

In config/initializers/mime_types.rb register the custom mime type.

Mime::Type.register "application/vnd.ms-excel", :xls

In the controller where you want to export to excel, add the format.xls line.

class UserController < ApplicationController

  def index
    @users = User.all

    respond_to do |format|
      format.html
      format.xml { render :xml => @users }
      format.xls { send_data @users.to_xls }
    end
  end

  def show...
  def new...
  def edit...
  def create...
  def update...
  def destroy...

end

Dependencies

None.

Install

./script/plugin install git://github.com/arydjmal/to_xls.git

Note

Does not work on a single activerecord, ie, User.first.to_xls.

Copyright © 2009 Ary Djmal, released under the MIT license

Something went wrong with that request. Please try again.