SpreadsheetExporter

gem 'spreadsheet_exporter'

Usage

Objects that are exported must respond to as_csv or as_json and return a hash representing column names and values.

  SpreadsheetExporter::Spreadsheet.from_objects(array_of_objects) do |row|
    # Do some work on the row
  end

  # Starting at a custom offset
  SpreadsheetImporter::Import.from_spreadsheet(spreadsheet, :start_row => 5) do |row|

2D Array

  SpreadsheetImporter::Import.from_spreadsheet([["Bob", "Hoskins"], ["Roger", "Rabbit"]])

CSV

  SpreadsheetImporter::Import.from_csv("users.csv")

.xlsx

  SpreadsheetImporter::Import.from_xlsx("users.xlsx")
  SpreadsheetImporter::Import.from_xlsx("users.xlsx", :sheet_name => '2015') # Processing a single sheet