2009-09-05 28 views
42

我的應用程序允許用戶將他們的數據作爲csv文件下載。這些應該在電子表格應用程序中打開。在Linux系統上,我得到正確的提示,用OpenOffice打開。但是我的一些用戶抱怨說,當他們下載文件時,它不會自動打開excel,而是要求他們選擇應用程序。當他們從其他站點下載csv時,它會在excel中正確打開。什麼設置爲用於在電子表格應用程序中打開的csv文件的mimetype

我設置:
MIME類型:文本/ CSV
content_disposition:附件; filename.csv

回答

61

試試這個:

Content-Type: text/csv; name="filename.csv" 
Content-Disposition: attachment; filename="filename.csv" 

在Windows瀏覽器中的文件被下載,只有文件擴展名來確定相應的應用程序後的MIME類型被忽略。

此外,在Excel中正確打開.CSV文件很困難,因爲默認分隔符是從打開CSV的計算機的區域設置中獲取的。此外,編碼不是根據文件內容或MIME類型確定的,因此任何非ASCII字符都很難工作。

+0

分隔符(或;)的選擇可能與語言環境有關。我從來沒有打開逗號分隔文件的麻煩。 – pavium 2009-09-05 06:31:56

+0

@pavium:你是對的,它很可能是區域設置中的「列表分隔符」。 – 2009-09-05 07:00:07

+13

設置內容類型的名稱參數是恕我直言的無用... – 2011-07-11 11:29:04