如何在 sidekiq 的 xls 文件中添加 Header 个名称?

How to add Header names in xls files from sidekiq?

File.open("#{Rails.root}/tmp/report/sample.xls", 'w')
 { |f| f.write
 ( @policies) 
 } 

上面的代码在 tmp 文件夹中创建 xls 文件时工作正常,但我想在该 xls 文件中使用 header 个名称,如何在该代码中传递 header 个名称?此代码是用 sidekiq 编写的,用于后台进程。请任何人建议我

sampl.xls 文件:

[{"id"=>1, "office"=>" ", "ordernumber"=>"100", "code"=>"NA", "type"=>"I", "prev_order_number"=>nil, "insured_name"=>"sree"}]

使用 CSV 来节省资源。 Excel 将毫无问题地打开它。

csv_file = CSV.generate do |csv|
    csv << @policies.first.keys
    @policies.each do |policy|
        csv << policy.values
    end
end

File.write("#{Rails.root}/tmp/report/sample.xls", csv_file)

上一个回答

如果您提供的代码完全符合您的要求,请尝试以下操作:

headers = {col1: "id", col2: "office", col3: "ordernumber", col4: "code", col5: "type", col6: "prev_order_number", col7: "insured_name"}

File.open("#{Rails.root}/tmp/report/sample.xls", 'w') do |f|
  f.write @policies.unshift(headers)
end