首页 > 解决方案 > 如何在 Ruby on Rails 中使用 axlsx 将更多列中的数据添加到已经在 Excel 中编写的行

问题描述

我正在使用 axlsx 在 Ruby on Rails 中创建 Excel 工作表

说,我使用类似这样的代码将数据添加到一行

some_array.each do |element| #array has a few hundreds of elements
  sheet.add_row [element.dcol1, element.dcol2, element.dcol3] #start from row1 of Excel sheet
  # the above statement would print data into columns A, B & C
end

上面的这个循环在 3 列中向 Excel 中添加了数百条记录 -A, B & C

现在,我想添加完全不同的数据(比如来自some_other_array);我想开始again from row1在 Excel 中打印这个数组但是从说column J

我该怎么做呢?

标签: ruby-on-railsexcelaxlsx

解决方案


axlsx允许您编辑文件中的任何单元格,而无需add_row使用sheet.rows[ROW_NUMBER].cells[NUMBER].value = VALUE.

要实现您想要的,您可以执行以下操作:

some_array.each_with_index do |element, index|
  sheet.rows[index].cells[10] = element.dcol1
  sheet.rows[index].cells[11] = element.dcol2
  sheet.rows[index].cells[12] = element.dcol2
end

推荐阅读