Sha256: 83ba5a5d65f1bce97b4dcd43e6f99505be0cffc32b3b2dd691f0189b99cb371c

Contents?: true

Size: 1.38 KB

Versions: 3

Compression:

Stored size: 1.38 KB

Contents

= to_xls gem

This gem transform an Array into a excel file using the spreadsheet gem.

== Usage

  @users = User.all

  @users.to_xls
  @users.to_xls(:headers => false)
  @users.to_xls(:columns => [:name, :role])
  @users.to_xls(:columns => [:name, {:company => [:name, :address]}])
  @users.to_xls(:columns => [:name, {:company => [:name, :address]}], :headers => [:name, :company, :address])

In order to send a file from the controller, you can save it on your server first:

  @users.to_xls.write '/path/to/file/users.xls'
  send_file '/path/to/file/users.xls'

Alternatively you can use the method to_xls_data and send_data

  send_data @users.to_xls_data, :filename => 'users.xls'
    
The method to_xls_data accepts the same parameters as to_xls.

== Requirements

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

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

== How to use

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_data, :filename => 'users.xls' }
      end
    end
  end


== Dependencies

  spreadsheet gem

== Install

  Include next gems in your environment.rb config file:

    config.gem 'to_xls'

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
to_xls-0.1.2 README.rdoc
to_xls-0.1.1 README.rdoc
to_xls-0.1.0 README.rdoc