通过API将xlsx文件发送到前端的最佳方法是什么? 我正在使用 axlsx_rails gem 通过 xlsx 模板生成报告。
我找到的选项是:json
,base64
,html。
Generate .xlsx file and respond filename as json/html
立即渲染xlsx:
render xlsx: 'status_report', template: 'api/v1/report/status_report.xlsx.axlsx'
答案 0 :(得分:0)
我知道这是一个老问题,但是我选择了base64选项。
Axlsx::Package.new do |obj|
obj.workbook.add_worksheet(name: "Sheet Name") do |sheet|
# Sheet structure and rows...
end
send_data Base64.encode64(obj.to_stream.read), type: "application/xlsx", filename: 'filename.xlsx'
end
只需使用send_data
rails方法(send_data)
答案 1 :(得分:0)
您应将application_controller ActionController::API
更改为ActionController::Base