2017-02-25 9 views
-1

aslsxで行を作成して、既存の行にセルを追加します。ruby​​ on railsでaxlsxの行にセルを追加するには

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 

私が間違って私に修正してください場合も

答えて

1

あなたが同じ行にすべてのカテゴリを追加したい場合はまあ、これは動作するはずです:

p = Axlsx::Package.new 
wb = p.workbook 

categories = ['Categories:'] + @categories.pluck(:name) 

wb.add_worksheet(name: "Buttons") do |sheet| 
    sheet.add_row categories 
end 

は、私はあなたのCategoryモデルを前提としていnameという名前の属性がない場合は、 :nameをより適切なものに変更します。メソッド add_rowは値を持つ配列を受け取り、配列から現​​在の行にすべてを書き込むため、最初にカテゴリの名前を配列に入力する必要があります。次に、メソッド add_rowに配列を渡すことができます。

Herepluckの詳細については、こちらをご覧ください。または単にレールコンソールでCategory.all.pluck(:id)を試してみると、すべてのカテゴリーのIDでいっぱいの配列が得られます。

関連する問題