module Workbook::Readers::CsvReader

Public Instance Methods

csv_lib() click to toggle source
# File lib/workbook/readers/csv_reader.rb, line 13
def csv_lib
  return CSV
end
load_csv(text, options={}) click to toggle source
# File lib/workbook/readers/csv_reader.rb, line 8
def load_csv text, options={}
  csv = text
  parse_csv csv, options
end
parse_csv(csv_raw, options={}) click to toggle source
# File lib/workbook/readers/csv_reader.rb, line 17
def parse_csv csv_raw, options={}
  optimistic_date_converter = Workbook::Cell.new.string_optimistic_date_converter
  options = {
    converters: [optimistic_date_converter, :all]
  }.merge(options)

  csv = nil

  begin
    csv = CSV.parse(csv_raw, options)
  rescue CSV::MalformedCSVError
    csv_excel = CSV.parse(csv_raw,options.merge({:col_sep=>';'}))
    csv = csv_excel if csv_excel[0].count > 1
  end

  if csv==nil or csv[0].count == 1
    csv_excel = CSV.parse(csv_raw,options.merge({:col_sep=>';'}))
    csv = csv_excel if csv_excel[0].count > 1
  end

  self[0] = Workbook::Sheet.new(csv, self) unless sheet.has_contents?
end