2013-03-20 4 views
5

Я использую 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) Это ошибка в камне или ожидаемая авария?

+3

Это похоже на ожидаемое поведение. – Linuxios

ответ

3

Я отправил письмо по электронной почте сопровождающему проекта, и они указали, что это ожидается.

Смежные вопросы