Sha256: b36624993ad831bd71390974e120d55acd04b5bf6635e2b935df4c1ade4578ba

Contents?: true

Size: 1010 Bytes

Versions: 6

Compression:

Stored size: 1010 Bytes

Contents

require 'bundler/setup'
require 'minitest/autorun'
require "minitest/reporters"
require 'pp'

##Encoding.default_external = Encoding::UTF_8
##Encoding.default_internal = Encoding::UTF_8

require 'date'

Minitest::Reporters.use!(
  Minitest::Reporters::DefaultReporter.new(color: true)
)

require_relative '../lib/fast_excel'

def parse_xlsx(file_path)
  require 'roo'
  Roo::Excelx.new(file_path)
ensure
  File.delete(file_path)
end

def get_arrays(workbook)
  workbook.close
  parse_xlsx_as_matrix(workbook.filename)
end

def parse_xlsx_as_array(file_path)
  data = parse_xlsx_as_matrix(file_path)
  headers = data.shift

  data.map do |row|
    Hash[ [headers, row].transpose ]
  end
end

def parse_xlsx_as_matrix(file_path)
  excel = parse_xlsx(file_path)

  sheet = excel.sheet(0)

  rows = []
  if sheet.last_row
    1.upto(sheet.last_row) do |row_number|
      row = 1.upto(sheet.last_column).map do |col|
        sheet.cell(row_number, col)
      end

      rows << row
    end
  end

  return rows
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
fast_excel-0.5.0 test/test_helper.rb
fast_excel-0.4.1 test/test_helper.rb
fast_excel-0.4.0 test/test_helper.rb
fast_excel-0.3.0 test/test_helper.rb
fast_excel-0.2.6 test/test_helper.rb
fast_excel-0.2.5 test/test_helper.rb