2013-03-20 58 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。我的問題是:

a)我在我的代碼中做了什麼錯誤?

b)這是寶石中的一個錯誤還是預期的崩潰?

+3

這看起來像預期的行爲。 – Linuxios 2013-03-20 00:55:00

回答

3

我通過電子郵件發送了項目的維護人員,他們表示這是預期的。

相關問題