2016-07-27 37 views
0

我正在從數據庫中以Excel文件格式(CSV格式)下載一些數據。在CSV文件中下載MySQL數據時,CSV文件的內容類型應該是什麼?

我正在使用標頭方法下載CSV文件。

我的代碼如下...

header("Content-Type: application/csv"); 
header("Content-Disposition: attachment; filename=export.csv"); 
header("Pragma: no-cache"); 
header("Expires: 0"); 

但下載文件並打開它後,它顯示「格式不正確」的錯誤。我如何以適當的格式下載它?

回答

1

因爲我們不知道,也沒有表查詢作爲源的CSV文件,更重要的是,我們不知道包含在CSV文件中的數據,我們不能給你準確的答案。

但請記住,CSV不是標準格式,因此實現可能會有所不同。

由於您使用的軟件具有不同的實現(例如,它無法解析多行值,如描述文本),您可以獲取錯誤消息。

典型的問題主要有:

  • 文本值不qouted(他們可以包含分隔符)
  • 文本值qouted但不能正確轉義(其中一些可以包含引號字符)
  • 數字值以本地化格式導出,讀取數據的應用程序試圖在另一個區域中解析它們
  • 某些值包含行尾,並且讀取數據的軟件無法處理多行值

如果您手動組裝CSV內容,請確保您以目標軟件可以處理的方式進行操作。

使用簡單和短的數據測試您的代碼(CSV生成),以確保它工作正常。

根據RFC4180,CSV文件的內容類型爲text/csv。 PS:將你的問題標記爲「你不清楚你在問什麼」,因爲提供的信息不足以解決問題並縮小問題範圍。

1

使用以下代替application/csv。添加文字如下面的代碼:

header("Content-type: text/csv");