通过API向前端发送xlsx文件的最佳方法是什么?我使用轴突 gem生成带有xlsx模板的报表。
我找到的选项有:json、base64、html。
现在呈现xlsx:
render xlsx: 'status_report', template: 'api/v1/report/status_report.xlsx.axlsx'发布于 2018-12-20 15:32:20
我知道这是个老问题,但我选择了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方法(数据)
发布于 2022-03-14 12:12:04
您可以这样使用send_file:
def export
Axlsx::Package.new do |obj|
obj.workbook.add_worksheet(name: 'worksheet name') do |sheet|
# Sheet structure and rows...
end
obj.serialize('filename.xlsx')
send_file File.open('filename.xlsx')
end
end不要忘记将rubyzip、axlsx、axlsx_rails宝石添加到gemfile中。
发布于 2019-07-30 18:48:21
您应该在application_controller ActionController::API中更改为ActionController::Base
https://stackoverflow.com/questions/52824397
复制相似问题