2012-03-14 80 views
1

我可以添加到此方法以在Excel导出中强制完整网格线?导轨3 - 使用网格线导出到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

嗯,很多事情发生在这里,我不认为是有道理的。该生产线

@invoices = Invoice.all 

导致SQL像SELECT "invoices".* FROM "invoices" - 在*意味着你想从表中的所有列,而.all意味着你希望所有的发票,不只是一个。除非表格的内容是单列二进制类型,否则我看不到这个工作,因为Excel的文件格式是供应商特定的二进制文件(我想!)。

您是否正在使用一些宝石像回形针或其他来处理保存文件?除非你在Rails中操作实际的excel数据(也许有知道如何做到这一点的gem),否则这个文件是用网格线保存或不保存的。

+0

恩,当我点击Export to Excel链接时,它会将我想要从发票表中导出的Excel文件导出到Excel文件中,我可以根据需要打开或保存该文件。唯一的事情是它隐藏了所有的网格线,所以我想在打开文件时默认显示那些网格线。 – 2012-03-14 20:42:11

+0

啊,也许发票表的列和行代表要导出的数据的单元格。有可能以XML格式导出,所以也许这就是发生了什么,请参阅http://airbladesoftware.com/notes/excel-export - 但它是确定网格线是否出现的MS格式,因此您需要将那部分应用程序图出来。 – 2012-03-14 21:08:31

0

This page介绍了如何使用XML格式化Excel文件。