Ruby on rails rails-使用电子表格向行插入数据

Ruby on rails rails-使用电子表格向行插入数据,ruby-on-rails,excel,spreadsheet,Ruby On Rails,Excel,Spreadsheet,我想在我的数据库上“运行”迭代,并将数据插入行中。 但是,我一次又一次地犯同样的错误 “TypeError:没有将电子表格::行隐式转换为整数” 我的代码如下所示: book = Spreadsheet::Workbook.new sheet1 = book.create_worksheet sheet1.row(0).push "Time", "Name", "Phone", "Email" [0,1,2,3].each{|col| sheet1.column(col).width = 19}

我想在我的数据库上“运行”迭代,并将数据插入行中。 但是,我一次又一次地犯同样的错误

“TypeError:没有将电子表格::行隐式转换为整数”

我的代码如下所示:

book = Spreadsheet::Workbook.new
sheet1 = book.create_worksheet
sheet1.row(0).push "Time", "Name", "Phone", "Email"
[0,1,2,3].each{|col| sheet1.column(col).width = 19}
sheet1.each do |row|
  object.each do |o|
    sheet1.(row).push o.time, o.name, o.phone, o.email
  end
end

book.write '../excel.xls'

谢谢大家

您正在将
此处
sheet1.(行)。
传递给一个需要整数的方法

更新 顺便说一句,我想这就是你想要的代码:

object.each_with_index do |o, i|
  sheet1.insert_row i+1, [ o.time, o.name, o.phone, o.email ]
end

您正在将
row
此处
sheet1.(row)。
传递给一个需要整数的方法

更新 顺便说一句,我想这就是你想要的代码:

object.each_with_index do |o, i|
  sheet1.insert_row i+1, [ o.time, o.name, o.phone, o.email ]
end

您的意思是放置sheet1.第[0]行。按“时间”、“姓名”、“电话”、“电子邮件”而不是sheet1.第(0)行。按“时间”、“姓名”、“电话”、“电子邮件”否。。。我的问题是第二个循环中的数据:sheet1.each do | row | object.each do | o |哦,我现在明白了。什么是表1?这是一个数组吗?如果是的话,这是一个什么数组?
sheet1.(行)
这种语法引起了各种各样的警钟。@shadwell你的意思是什么?你的意思是放sheet1.row[0]。按“Time”、“Name”、“Phone”、“Email”而不是sheet1.row(0)。按“Time”、“Name”、“Phone”、“Email”否。。。我的问题是第二个循环中的数据:sheet1.each do | row | object.each do | o |哦,我现在明白了。什么是表1?这是一个数组吗?如果是的话,这是一个什么数组?
sheet1.(row)
这种语法引起了各种各样的警钟。@shadwell你的意思是什么?嗯,我对代码做了一点修改,但仍然不管用:row=1而row,我对代码做了一点修改,但仍然不管用:row=1而row