Вы можете использовать что-то вроде этого для контроллера:
respond_to do |format|
format.xlsx {
render xlsx: "report", filename: "report-#{DateTime.now.to_date}.xlsx"
}
end
Где "report" - это шаблон и может выглядеть следующим образом:
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