簡體   English   中英

Rails 3 CSV和XLS導出不提供文件擴展名

[英]Rails 3 CSV and XLS export doesn't give file extension

我的用戶可以生成一些數據的報告,並確定所需的格式。

他們可以選擇HTML,CSV或XLS

這是表格(省略了數據,這只是格式選擇器)

<%= form_tag "/report", :method => :get %>
    Format <select id='format' name='format'>
                <option value='html' selected='selected'>View in browser (HTML)</option>
                <option value='csv'>Export to CSV file</option>
                <option value='xls'>Export to exel (XLS)</option>
            </select>

<%= submit_tag "Make report", :class => 'submit' %>

此表格將執行此操作

def report
    #...Again omitting data stuff
    respond_to do |format|
      format.html
      format.csv 
      format.xls 
    end
  end

我有相應的查看文件。

report.xls.erb

在我的日志中,我得到

Processing by ..Controller#report as XLS

但是, 瀏覽器下載的文件沒有擴展名

如果我將form_tag行更改為此。

<%= form_tag "/report.xls", :method => :get %>

該文件的擴展名為.xls。

我已經設置了xls mime_types

如何在表格中設置格式?

這是來自不同的問題

您可以設置標題以告知文件的瀏覽器名稱。

format.xls do
  response.headers['Content-Disposition'] = 'attachment; filename="' + filename + '.xls"'
  render "report.xls.erb"
end

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM