我正在尝试生成报告。我已经在视图中创建了HTML表格,并希望遵循“Exporting data to CSV and Excel in your Rails app”中讨论的方法。
我看了:
“在我的项目中,我将html表保存到文件中,但是给它xls扩展名而不是html。例如table.xls。然后我将它发送到带有Excel mime类型的浏览器,Excel将打开这个文件并且还会像html表那样格式化表格,这样你就会得到加粗的标题和单元格背景颜色等。“
“我知道的最简单的方法是生成一个带有表的HTML文件,并为其提供XLS扩展。HTML charset受到尊重,你可以根据需要设置换行符,小端或大端不是问题, th-tags定义了列标题,并且已经有很多解决方案来构建文件。“
如何将HTML表保存到文件中,并为其提供.XLS
扩展名以在Excel中打开它?
答案 0 :(得分:2)
不知道这是否是好建议。我个人总是坚持使用csv。但是你会这样做。
class ExportController < ApplicationController
def export
html = build_html_table()
respond_to do |format|
format.xls { send_data html, :type => 'application/vnd.ms-excel; charset=utf-8; header=present', :filename => 'export.xls' }
end
end
end
然后在config / initializers / mime_types.rb中你需要追加:
Mime::Type.register 'application/vnd.ms-excel', :xls