Я использую https://github.com/zdavatz/spreadsheet версии 0.8.3Spreadsheet камень: не может создать пустую книгу
У меня есть код, который перебирает коллекцию и создает лист в той же книге, для каждого элемента. Когда коллекция пуста, код, который выполняет заканчивает тем, как:
io = StringIO.new
book = Spreadsheet::Workbook.new
book.write(io)
Последняя строка вызывает:
TypeError: can't convert nil into Integer
spreadsheet/excel/writer/workbook.rb:636:in `pack'
spreadsheet/excel/writer/workbook.rb:636:in `write_window1'
spreadsheet/excel/writer/workbook.rb:419:in `write_from_scratch'
spreadsheet/excel/writer/workbook.rb:644:in `write_workbook'
spreadsheet/writer.rb:12:in `write'
spreadsheet/workbook.rb:124:in `write'
Изменение кода для этого фиксирует вещи:
io = StringIO.new
book = Spreadsheet::Workbook.new
book.create_worksheet if book.worksheets.empty?
book.write(io)
Но Я бы предпочел не включать звонок в create_worksheet
. Мои вопросы:
a) Я делаю что-то не так в своем коде?
b) Это ошибка в камне или ожидаемая авария?
Это похоже на ожидаемое поведение. – Linuxios