3

我正在尝试从我的铁路应用程序中导出一个 .xls 文件,但似乎无法让它工作。我是 ruby​​ 和 rails 的新手...这是我的代码示例...

def results
    book = Spreadsheet::Workbook.new
    sheet1 = book.create_worksheet do |row|
    row << [ 'name', 'address', 'date', 'amount' ]
    results.each do |r|
    row << [ r.name, r.address, r.date, r.amount ]
    send_data(sheet1, :type => "application/xls", :filename => "#{client.client_id} #{source.source_id} - search results - #{DateTime.now.strftime("%m.%d.%y")}.xls")
end

我在 xls 文件中得到的输出是 ... #< Spreadsheet::Worksheet:0x5fb8fd8>

有人知道我在做什么错吗?

4

1 回答 1

4

你看过这里的文档吗? http://spreadsheet.rubyforge.org/GUIDE_txt.html

听起来您正在使用同时用于读取和写入的语法的混合。

您应该执行以下操作:

sheet1 = book.create_worksheet
sheet1.row(0) << [ 'name', 'address', 'date', 'amount' ]
results.each_with_index do |r, i|
  sheet1.row(i+1) << [ r.name, r.address, r.date, r.amount ]
end

我没有尝试过,但它应该离需要的不远:)

于 2012-07-30T19:22:10.027 回答