Rails plugin to provide renderer and template handler for axlsx gem.
Ruby JavaScript
Switch branches/tags
Nothing to show
Clone or download
Pull request Compare This branch is 171 commits behind straydogstudio:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
lib
spec
.gitignore
.travis.yml
CHANGELOG.md
Gemfile
Gemfile.lock
Guardfile
MIT-LICENSE
README.md
Rakefile
axlsx_rails.gemspec

README.md

Axlsx-Rails — Axlsx templates for Rails views

Build Status

##Installation

In your Gemfile:

gem 'axlsx_rails'

##Requirements

  • Rails 3.1, but it has only been tested on 3.2.6

##Usage

Axlsx-Rails provides a renderer and a template handler. It adds the :xlsx format and parses .xlsx.axslx templates.

###Controller

You can either use the typical format:

respond_to do |format|
	format.xlsx
end

or call render directly:

render xlsx: "foobar", filename: "the_latest_foobar", disposition: 'inline'

###Template

Use the .xlsx.axlsx extension (sorry if your lysdexic!) In the template, use xlsx_package variable, which is set with Axlsx::Package.new:

wb = xlsx_package.workbook
style_shout = wb.styles.add_style sz: 16, b: true, alignment: { horizontal: :center }
wb.add_worksheet(name: "Foobar") do |sheet|
  sheet.add_row ['Bad', 'spellers', 'of', 'the', 'world', '...']
  sheet.add_row ['Untie!']
  sheet.merge_cells("B1:B6")
  sheet["B1"].style = style_shout
end

If you use acts_as_xlsx, configure the active record normally, but specify the package in the template:

User.to_xlsx package: xlsx_package, (other options)

To set the author attribute upon Axlsx::Package.new, insert the following in application.rb:

config.axlsx_author = "Elmer Fudd"

NOTE: We really ought to allow the author to be set in each call

####Partials Partials are currently untested.

##Dependencies

##Authors

##Change log

  • July 17, 2012: 0.1.0 release
  • Tests completed
  • Acts_as_xlsx tested, example in docs
  • July 12, 2012: 0.0.1 release
  • Initial posting.
  • It works, but there are no tests! Bad programmer!