Alxsx gem Package#to_stream失败

时间:2017-05-10 20:46:30

标签: ruby-on-rails axlsx

这里的最终目标是创建一个流,以便我可以附加从axlsx包对象生成的xlsx doc。我能够序列化包,它可以很好地写入文件系统。我真的不需要或者想要将文档写入文件系统。

以下是我致电to_stream时收到的错误:

  

NoMethodError:未定义的方法`重新打开' for" streamed":String Did   你的意思是?前置

我在这里做错了什么?

Axlsx::Package.new do |p|
  p.workbook do |wb|
    wb.add_worksheet(name: 'Time Cards') do |ws|
      title_style = ws.styles.add_style(sz: 24)
      ws.add_row ["Week #{week}, #{year} Time Cards", '', ''], style: [title_style], height: 30
    end
  end
  p.to_stream
end
  • Ruby v 2.4.0
  • Rails v5.0.2

1 个答案:

答案 0 :(得分:0)

对于这个老问题的未来访问者:

检查Gemfile中axlsxrubyzip的版本。对我而言,问题是rubyzip的版本为1.2。今天(07.08.2017)对我有用的组合是:

axlsx (2.1.0.pre)rubyzip (~> 1.1.7)