/to_xls-rails

Export to excel file

Primary LanguageRubyMIT LicenseMIT

to_xls plugin

This simple plugin 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.

Usage

add below to RAILS_ROOT/config/initializers/mime_types.rb
Mime::Type.register_alias "text/excel", :xls

@posts = Post.all

#
#  default are export header and all fileds
#

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

# Translation of a column-value
@posts.to_xls{|object, column, value| column==:salutation ? t(value) : value}

Example

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

    respond_to do |format|
      format.xls { send_data(@posts.to_xls) }
      #format.xls {

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

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

Dependencies

gem install spreadsheet

Install

with bundler
gem 'to_xls-rails', :git => 'http://github.com/yonpols/to_xls-rails.git'
bundle install

with git
git clone http://github.com/yonpols/to_xls-rails.git

Note

Changes by yonpols@gmail.com Copyright © 2010 liangwenke.com@gmail.com, released under the MIT license