Sha256: 9a0a09fdb96de85ef3bf56e1761557bf4a57c09a5916b44f8620827a2d351759

Contents?: true

Size: 1.67 KB

Versions: 15

Compression:

Stored size: 1.67 KB

Contents

class SpreadsheetsController < ApplicationController

  respond_to :csv, :xlsx, :ods
  
  def csv
    render csv: Post.to_csv
  end

  def ods
    render ods: Post.to_ods
  end

  def xlsx
    render xlsx: Post.to_xlsx, filename: 'Posts'
  end

  def alt_xlsx
    @posts = Post.all
    respond_with @posts
  end
  
  def test_xlsx
    headers = [
      ['Latest Posts'],
      ['Title','Category','Author','Posted on','Earnings','Title','Category','Author','Posted on','Earnings']
    ]

    data = 50.times.map{|x| ['Title','Category','Author','Posted on','Earnings','Title','Category','Author','Posted on','Earnings'] }

    header_style = {}

    row_style = {}

    column_styles = [
      {columns: 0, styles: {bold: true}},
      {columns: (1..3), styles: {format_code: "$#,##0.00"}},
      {columns: [4,9], include_header: true, styles: {italic: true}}
    ]

    range_styles = [
      {range: "B2:C4", styles: {background_color: "CCCCCC"}}
    ]

    borders = [
      {range: "B2:C4"},
      {range: "D6:D7", border_styles: {style: :dashdot, color: "333333"}},
      {rows: (2..11), border_styles: {edges: [:top,:bottom]}},
      {rows: [1,3,5], columns: ('B'..'F')},
      {rows: 1},
      {columns: 0, border_styles: {edges: [:right], style: :thick}},
      {columns: (1..2)},
      {columns: ('D'..'F')},
      {columns: [4,6,8]},
      {columns: ['A','C','E']}

    ]

    merges = [
      {range: "A1:C1"}
    ]

    render xlsx: SpreadsheetArchitect.to_xlsx({
      headers: headers,
      data: data,
      header_style: header_style,
      row_style: row_style,
      column_styles: column_styles,
      range_styles: range_styles,
      borders: borders,
      merges: merges
    })
  end

end

Version data entries

15 entries across 15 versions & 1 rubygems

Version Path
spreadsheet_architect-4.1.0 test/dummy_app/app/controllers/spreadsheets_controller.rb
spreadsheet_architect-4.0.1 test/dummy_app/app/controllers/spreadsheets_controller.rb
spreadsheet_architect-4.0.0 test/dummy_app/app/controllers/spreadsheets_controller.rb
spreadsheet_architect-3.3.1 test/dummy_app/app/controllers/spreadsheets_controller.rb
spreadsheet_architect-3.3.0 test/dummy_app/app/controllers/spreadsheets_controller.rb
spreadsheet_architect-3.2.1 test/dummy_app/app/controllers/spreadsheets_controller.rb
spreadsheet_architect-3.2.0 test/dummy_app/app/controllers/spreadsheets_controller.rb
spreadsheet_architect-3.1.0 test/dummy_app/app/controllers/spreadsheets_controller.rb
spreadsheet_architect-3.0.0 test/dummy_app/app/controllers/spreadsheets_controller.rb
spreadsheet_architect-2.1.2 test/dummy_app/app/controllers/spreadsheets_controller.rb
spreadsheet_architect-2.1.1 test/dummy_app/app/controllers/spreadsheets_controller.rb
spreadsheet_architect-2.1.0 test/dummy_app/app/controllers/spreadsheets_controller.rb
spreadsheet_architect-2.0.2 test/rails_app/app/controllers/spreadsheets_controller.rb
spreadsheet_architect-2.0.1 test/rails_app/app/controllers/spreadsheets_controller.rb
spreadsheet_architect-2.0.0 test/rails_app/app/controllers/spreadsheets_controller.rb