如何在轨道上的Ruby中的AXLSX中循环添加细胞



i在ASLSX中创建行,现在我想在现有行中添加单元格。

wb = xlsx_package.workbook
wb.add_worksheet(name: "Buttons") do |sheet|
sheet.add_row ['Categories:']
@categories.each do |category|
  // Here I want to add this category name existing row
end

如果我错了,请纠正我

好吧,如果要将所有类别添加到同一行,这应该有效:

p = Axlsx::Package.new
wb = p.workbook
categories = ['Categories:'] + @categories.pluck(:name)
wb.add_worksheet(name: "Buttons") do |sheet|
  sheet.add_row categories
end

我假设您的类别模型具有称为名称的属性,如果没有,则只需将:name更改为更合适的内容即可。方法add_row接收一个带有值的数组,并写入从数组到当前行的所有内容,因此您需要先用类别的名称填充数组。然后,您可以将数组传递到方法add_row,并且它将在Excel中以类别填充整个行。

在这里您可以找到有关pluck方法的更多信息。或仅在Rails控制台中,尝试Category.all.pluck(:id),您将获得一个装有所有类别ID的数组。

最新更新