【问题标题】:Rails - axlsx_rails, generating xlsx and sending via APIRails - axlsx_rails,生成 xlsx 并通过 API 发送
【发布时间】:2019-03-20 08:00:33
【问题描述】:

通过 API 将 xlsx 文件发送到前端的最佳方式是什么以及如何? 我正在使用 axlsx_railsgem 生成带有 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'

【问题讨论】:

    标签: ruby-on-rails api axlsx


    【解决方案1】:

    您应该将 application_controller ActionController::API 更改为 ActionController::Base

    【讨论】:

      【解决方案2】:

      我知道这是一个老问题,但我选择了 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)

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2022-01-02
        • 2011-04-24
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多