2013-03-20 21 views
5

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?

+3

Wygląda to na oczekiwane zachowanie. – Linuxios

Odpowiedz

3

Wysłałem e-mail do opiekuna projektu i wskazali, że jest to oczekiwane.

Powiązane problemy