导出到CSV文件

时间:2014-04-12 18:29:58

标签: ruby-on-rails ruby-on-rails-3.2

http://railscasts.com/episodes/362-exporting-csv-and-excel

我正在关注那个铁路播报节目。它的工作完美但我导出到无法添加.csv扩展名的csv文件意味着它的存储类似产品而不是 products.csv

我想像 products.csv 那样存储如何做到这意味着如何在保存该文件时添加扩展名,该文件会在保存csv文件期间自动添加扩展名。

更新

enter image description here

当我导出CSV文件时,我会像上面的图像一样打开弹出窗口。但我想在名称

products.csv

更新2

  

控制器

  respond_to do |format|
    format.html
    format.csv { send_data @customers.to_csv }
    format.xls
  end


View


<%= link_to "CSV", "/admin/partners?id=#{params[:id]}&start_date=#{params[:start_date]}&end_date=#{params[:end_date]}&format=csv" %> 

<%= link_to "Excel", "/admin/partners?id=#{params[:id]}&start_date=#{params[:start_date]}&end_date=#{params[:end_date]}&format=xls" %> 

谢谢

2 个答案:

答案 0 :(得分:4)

控制器:

respond_to do |format|
        format.csv { send_data @report.to_csv, filename: @report.name + ".csv"} #to export csv
end

在视图中

<%= link_to 'CSV', report_path(report, format: :csv)%>

答案 1 :(得分:2)

试试这个,它应该有用。

在视图中


<%= link_to "Products CSV", products_path(:format => 'csv') %>

在控制器

def index
  products = Product.all
  respond_to do |format|
    format.csv do
      send_data products.to_csv
    end
  end
end