【问题标题】:Rails Gem "Axlsx" - Rename WorkbookRails Gem "Axlsx" - 重命名工作簿
【发布时间】:2016-09-30 18:35:35
【问题描述】:

我的工作簿总是像我的模板“invoices_generate.xlsx”一样命名。 我怎样才能重命名这个文件?

模板“invoices_generate.xlsx.axlsx”:

wb = xlsx_package.workbook

    wb.add_worksheet(:name => "Beleg") do |sheet|  

    .
    .
    .

    sheet.column_widths 2 , 11, 11, 11, 11, 23, 3

    end

【问题讨论】:

    标签: ruby-on-rails ruby-on-rails-3 axlsx


    【解决方案1】:

    您是否也添加了 axlsx_rails gem?如果是这样:

    wb = xlsx_package.workbook
    wb.add_worksheet(name: "Beleg") do |sheet|
      sheet.column_widths 2 , 11, 11, 11, 11, 23, 3
    end
    

    有关详细信息,请参阅 https://github.com/straydogstudio/axlsx_rails#template,如果这不起作用,请尝试从呈现 xlsx 模板的控制器操作中设置文件名,如下所述:https://github.com/straydogstudio/axlsx_rails#file-name

    【讨论】:

    • 使用add_worksheet 下的名称仅命名工作表。所以是的,它必须在控制器中使用render :xlsx 语句来完成。没有这个,就不会有文件名http头,浏览器会根据URL猜测一个名字。
    • 实际上这并不能解决原始问题,因为此答案会更改工作表的名称,而不是文件的名称
    【解决方案2】:

    供将来参考:在控制器中,在生成工作簿的函数上

    def index
      @users =  User.all
    
      render xlsx: 'export', filename: 'my_new_filename.xlsx' //Render with export and naming the file
      respond_to do |format|
        format.html
        format.xlsx
      end
    end  
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-09-30
      • 2015-09-11
      • 1970-01-01
      • 2014-06-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多