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
。我的問題是:
a)我在我的代碼中做了什麼錯誤?
b)這是寶石中的一個錯誤還是預期的崩潰?
這看起來像預期的行爲。 – Linuxios 2013-03-20 00:55:00