Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 如何在RubyonRails的axlsx中添加行中的单元格_Ruby On Rails_Ruby_Axlsx - Fatal编程技术网

Ruby on rails 如何在RubyonRails的axlsx中添加行中的单元格

Ruby on rails 如何在RubyonRails的axlsx中添加行中的单元格,ruby-on-rails,ruby,axlsx,Ruby On Rails,Ruby,Axlsx,我在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 如果我错了,请也纠正我如果要将所有类别添加到同一行,这应

我在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的属性,如果没有,只需将
:name
更改为更合适的属性即可。方法
add_row
接收一个包含值的数组,并将数组中的所有内容写入当前行,因此需要首先用类别的名称填充数组。然后,您可以将数组传递给方法
add_row
,它将用类别填充excel中的整行

您可以找到有关
pulk
方法的更多信息。或者在rails控制台中,尝试
Category.all.pull(:id)
,您将得到一个数组,其中填充了所有类别的id