我可以在此方法中添加什么来强制Excel导出中的完整网格线?
def export_invoices
headers['Content-Type'] = "application/vnd.ms-excel"
headers['Content-Disposition'] = 'attachment; filename="Invoices.xls"'
headers['Cache-Control'] = ''
@invoices = Invoice.all
render :layout => nil
end
谢谢!
答案 0 :(得分:0)
@invoices = Invoice.all
会产生类似SELECT "invoices".* FROM "invoices"
的SQL - *
表示您希望表格中的所有列,而.all
表示您想要所有发票,而不仅仅是一张。除非表的内容是单列二进制类型,否则我看不到这个工作,因为Excel的文件格式是特定于供应商的二进制文件(我认为!)。
您是否正在使用某些宝石,如回形针或其他来处理保存文件?除非你在Rails中操作实际的excel数据(可能有一个知道如何执行此操作的gem),否则文件是否与网格线一起保存。
答案 1 :(得分:0)
This page介绍了如何使用XML格式化Excel文件。
答案 2 :(得分:0)
如果我理解你的问题是正确的,那么你希望在excel中设置输出的样式。为此,您需要实际生成office open XML文档,而不是使用应用程序标头转储CSV。
看看这两个宝石
http://rubygems.org/gems/axlsx
http://rubygems.org/gems/acts_as_xlsx
他们应该给你你想要的东西。