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)これは宝石のバグですか?クラッシュが予想されていますか?
これは予想される動作のようです。 – Linuxios