加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby – Spreadsheet gem:无法创建空工作簿

发布时间:2020-12-16 20:57:54 所属栏目:百科 来源:网络整理
导读:我正在使用 https://github.com/zdavatz/spreadsheet版本0.8.3 我有代码迭代一个集合,并在每个项目的同一工作簿中创建一个工作表.当集合为空时,执行的代码最终看起来像: io = StringIO.newbook = Spreadsheet::Workbook.newbook.write(io) 最后一行提出: T
我正在使用 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)这是宝石中的一个错误还是预期崩溃?

解决方法

我通过电子邮件发送了项目的维护者,他们表示这是预期的.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读