Рендеринг xlsx в файл - PullRequest
0 голосов
/ 07 ноября 2018

Я хочу отобразить шаблон xlsx в файл, используя axlsx-rails gem. Какой лучший способ сделать это? Для рендеринга шаблона как ответа xlsx я использую эту строку кода + template:

render xlsx: 'latest_buttons', template: 'featured/latest'

Может кто-нибудь объяснить немного больше о функции render ?

1 Ответ

0 голосов
/ 07 ноября 2018

Вы можете использовать что-то вроде этого для контроллера:

      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
...