2013-03-20 11 views
5

私はコレクションを反復処理し、各項目の同じワークブック内のワークシートを作成するコードを持っているhttps://github.com/zdavatz/spreadsheetバージョン0.8.3スプレッドシートの宝石:空のブックを作成することはできません

を使用しています。コレクションが空の場合は、実行されるコードは次のように見て終わる:

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への呼び出しを含める必要はありません。私の質問は次のとおりです:

)私は自分のコードで何か間違っていますか?

b)これは宝石のバグですか?クラッシュが予想されていますか?

+3

これは予想される動作のようです。 – Linuxios

答えて

3

私はプロジェクトのメンテナーに電子メールを送り、これが予想されることを示しました。

関連する問題