Encoding.default_external = Encoding::UTF_8 Encoding.default_internal = Encoding::UTF_8 require 'bundler/setup' require 'minitest/autorun' require "minitest/reporters" 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 parse_xlsx_as_array(file_path) excel = parse_xlsx(file_path) data = excel.to_matrix.to_a 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) excel.to_matrix.to_a end