При попытке отобразить окно загрузки и потоковую передачу файла XLSX с использованием Ruby Sinatra и гема AXLSX мой файл Excel сериализуется успешно в локальный файл, поэтому я знаю, что это действительный документ Excel, но он мне нужен для передачи содержимого до концапользователь.В сети не было никаких документов с примерами использования AXLS и Sinatra вместе, только рельсы.Помощь приветствуется!
class Downloads < Sinatra::Base
get '/downloads/report' do
## ...
Axlsx::Package.new do |p|
p.workbook.add_worksheet(name: 'tab name') do |sheet|
## ...
end
content_type 'application/xlsx'
attachment 'cost-code-dashboard.xlsx'
p.to_stream # unsuccessful
# p.to_stream.read # unsuccessful as well
end
end
end
Я также безуспешно попробовал следующий фрагмент
Axlsx::Package.new do |p|
## ...
send_file p.to_stream.read, type: "application/xlsx", filename: "cost-code-dashboard.xlsx"
end