2011-09-14 48 views
0

我建立與PHP的Web App使用Excel Writer (XML) for PHP創建一個Excel文件,這些用戶可以下載。我查看了庫的源代碼,它所做的只是將生成的XML回顯到標準輸出。雖然生成的文件是一個XML文件,我專門帶是「.xls」擴展給它一個名稱,以便它被下載後,最終用戶可以雙擊它,它會推出自己的系統上的Excel和打開文件成功。獲取Safari瀏覽器來寫出正確的文件名

下載與Firefox,Chrome和IE中的文件時,而不是在Safari這正常工作。例如,如果我將文件的名稱設置爲'File.xls',則這是所下載文件的名稱。但使用Safari時,文件的名稱最終是'File.xls.xml'。

服務器運行的Apache在Mac OS X上我認爲是我猜測,這個問題與MIME類型的服務器上做可能無所謂,但我不能肯定。也許我可以對頁面上出現的鏈接做些什麼,或者我需要編輯Apache的配置文件?任何幫助表示讚賞。

回答

0

你可能是正確的,它可能只是MIME類型,需要設置。

嘗試把

header("Content-Type: application/vnd.ms-excel");

輸出代碼之前,應該強制瀏覽器看到的數據爲Excel文件。

如果代碼已經被設置Content-Type和它是相互矛盾的,然後搜索「的Content-Type」的劇本,並嘗試改變它。

此外,如果它是一個XLSX文件,然後有一個不同的MIME類型 - application/vnd.openxmlformats-officedocument.spreadsheetml.sheet

+0

客戶端已擱置的項目,所以我不能測試你的建議呢,但會盡快這樣做,因爲我能夠。如果有效,我一定會接受你的答案。 – Chuck