Rails Gem "Axlsx" - 重命名工作簿
Posted
技术标签:
【中文标题】Rails Gem "Axlsx" - 重命名工作簿【英文标题】:Rails Gem "Axlsx" - Rename Workbook 【发布时间】: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
【问题讨论】:
【参考方案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
【讨论】:
以上是关于Rails Gem "Axlsx" - 重命名工作簿的主要内容,如果未能解决你的问题,请参考以下文章
Rails宝石“Axlsx”/“Rails-Axlsx” - 添加图像
Bundler 找不到 gem "rails" 的兼容版本:用于狂欢
如何专门使用“Elasticsearch”gem 将 elasticsearch 与 rails 应用程序集成
Rails:Gemfile.lock 需要“找不到捆绑程序”(2.2.11)。 (Gem::GemNotFoundException)