Я застрял - мне нужно прочитать лист Excel в хеш, я решил использовать гем ROO, но я не могу понять документацию.Пожалуйста, смотрите ниже:
Я получил таблицу Excel:
Fruits Qty Location
apples 5 Kitchen
pears 10 Bag
plums 15 Backpack
Я хотел бы получить это в массив хэшей:
myhash =[
{Fruits: "apples", Qty: 5, Location: "Kitchen"},
{Fruits: "pears", Qty: 10, Location: "Bag"},
{Fruits: "plums", Qty: 15, Location: "Backpack"}
}
Теперь в документации по ROO янашел это:
Use sheet.parse to return an array of rows. Column names can be a String or a Regexp.
sheet.parse(id: /UPC|SKU/, qty: /ATS*\sATP\s*QTY\z/)
# => [{:id => 727880013358, :qty => 12}, ...]
Но когда я попробовал следующий код, я получил ошибку: «неопределенная локальная переменная или метод« sheet »для main: Object (NameError)»
require 'roo'
workbook = Roo::Spreadsheet.open './fruits.xlsx'
workbook.default_sheet = workbook.sheets.first
sheet.parse(Fruits: "Fruits", Qty: "Qty", Location:"Location", clean:true)
Я знаю, что мне нужно как-то определить лист, но сначала я не могу найти никаких примеров в документации.и второе:
Almost all methods have an optional argument sheet. If this parameter is omitted, the default_sheet will be used.
Я не против использовать любой другой драгоценный камень, который имеет лучшую документацию и может работать как с документами xls, так и с документами xslx
Пожалуйста, помогите, Спасибо заранее