希望你做得好。 我完全按照this手册创建了一个新应用程序,并尝试使用 axlsx_rails Gem导出excel文件。这本手册看起来很好而且完整但是当我点击line_to标签时会弹出这个错误
ProductsController#index is missing a template for this request format and variant. request.formats: ["application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"] request.variant: []
和此:
raise ActionController::UnknownFormat, message
我猜这个错误与我的参数或类似的东西有关。 我正在使用 Rails 5 有什么想法吗? 万分感谢:)。
修改 这是我的控制器:
def index
@products = Product.order('created_at DESC')
respond_to do |format|
format.html
format.xlsx {
response.headers['Content-Disposition'] = 'attachment; filename="all_products.xlsx"'
}
end
end
查看index.html.erb
<%= link_to 'Download as .xlsx', products_path(format: :xlsx) %>
查看index.xlsx.axlsx
wb = xlsx_package.workbook
wb.add_worksheet(name: "Products") do |sheet|
@products.each do |product|
sheet.add_row [product.title, product.price]
end
end
答案 0 :(得分:0)
这是解决方案 的控制器强>:
def export_to_excel
@tests = Test.all
respond_to do |format|
format.html
format.xlsx {
response.headers['Content-Disposition'] = 'attachment; filename="official_letters.xlsx"'
}
end
end
这是 views / ... export_to_excel.xlsx.axlsx
wb = xlsx_package.workbook
wb.add_worksheet(name: "tests") do |sheet|
@tests.each do |test|
sheet.add_row [test.title, test.price]
end