używam wersji 0.8.3 https://github.com/zdavatz/spreadsheetArkusz gem: nie można utworzyć pusty skoroszyt
Mam kod, który wykonuje iteracje nad kolekcją i tworzy arkusz w tym samym skoroszycie dla każdego elementu. Gdy kolekcja jest pusta, to kod, który wykonuje kończy się patrząc jak:
io = StringIO.new
book = Spreadsheet::Workbook.new
book.write(io)
Ostatnia linia podnosi:
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'
Zmiana mój kod to rozwiązuje rzeczy:
io = StringIO.new
book = Spreadsheet::Workbook.new
book.create_worksheet if book.worksheets.empty?
book.write(io)
Ale Wolałbym nie uwzględniać połączenia pod numerem create_worksheet
. Moje pytania to:
a) Czy robię coś złego w moim kodzie?
b) czy jest to błąd w klejnocie, czy oczekuje się awarii?
Wygląda to na oczekiwane zachowanie. – Linuxios