将xlsx渲染到文件

时间:2018-11-07 08:29:37

标签: ruby-on-rails rendering axlsx

我希望使用axlsx-rails gem将xlsx模板呈现到文件。最好的方法是什么? 为了将模板呈现为 xlsx 响应,我正在使用以下代码行+模板:

SELECT type, COUNT(*) AS count 
FROM vehicles  
GROUP BY type

有人能解释一下有关 render 功能的更多信息吗?

1 个答案:

答案 0 :(得分:0)

您可以对控制器使用类似这样的内容:

      respond_to do |format|
          format.xlsx {
            render xlsx: "report", filename: "report-#{DateTime.now.to_date}.xlsx"
          }
        end

其中“报告”是模板,在视图中看起来像这样:

wb = xlsx_package.workbook
wb.add_worksheet(name: "Report") do |sheet|
  sheet.add_row ["ID","Row 2"]
  @result.rows.each do |row|
    sheet.add_row [row[0], row[1]]
  end
end