class Spreet::Handlers::ExcelCSV

Public Class Methods

read(file, options={}) click to toggle source

Read a CSV file and create its Spreet document

# File lib/spreet/handlers/excel_csv.rb, line 9
def self.read(file, options={})
  spreet = Spreet::Document.new
  sheet = spreet.sheets.add
  options = {:col_sep=>';', :encoding => "CP1252"}.merge(options)
  ::CSV.foreach(file, options) do |row|
    sheet.row *(row.map{|v| v.to_s.encode('utf-8')}) # collect{|v| v.to_s.encode('cp1252')}
  end
  return spreet
end
write(spreet, file, options={}) click to toggle source

Write a Spreet to a CSV file

# File lib/spreet/handlers/excel_csv.rb, line 21
def self.write(spreet, file, options={})
  sheet = spreet.sheets[options[:sheet]||0]
  options = {:col_sep=>';', :encoding => "CP1252"}.merge(options)
  ::CSV.open(file, "wb", options) do |csv|
    sheet.each_row do |row|
      csv << row.map(&:text)
    end
  end
end