Rails“无法将Spreadsheet :: Workbook转换为String”

时间:2011-05-10 13:18:28

标签: ruby-on-rails ruby spreadsheet

我正在尝试在我的Rails应用中使用电子表格gem,但是我收到以下错误:

can't convert Spreadsheet::Workbook into String

这是我的代码:

require 'spreadsheet'

def create_spreadsheet_from_array(array)
   Spreadsheet.client_encoding = 'UTF-8'
   book = Spreadsheet::Workbook.new
   ...
end

我做错了什么?

1 个答案:

答案 0 :(得分:0)

我最有限的细节猜测是您的代码尝试在视图模板中输出呈现的电子表格文件。您需要在控制器中使用send_file。这是一个简单的例子(但我不建议在控制器中使用电子表格代码):

class MyController < ApplicationController
  def download_xls
    filename = "example.xls"
    tempfile = Tempfile.new(filename)
    workbook = Spreadsheet::Workbook.new
    ...
    workbook.write(tempfile.path)
    send_file tempfile.path, :filename => filename
  end
end