我想輸入一些數據到一個CSV文件,它很好地工作,但如果我嘗試添加數據表的標題Excel不會讓我打開該文件,因爲「file.csv的文件格式和擴展名不匹配,文件可能損壞或不安全」。使用fputcsv在csv上添加標題php
下面的代碼:
//crate headers
$headers[] = "ID";
$headers[] = "Name";
$headers[] = "Ref";
$headers[] = "Quantity";
// crete and open file
$csvName = "file.csv";
$fileHandle = fopen($csvName, 'w') or die('Can\'t create .csv file, try again later.');
//Add the headers, if I take this line out the excel allows me to open the file
fputcsv($fileHandle,$headers,";");
//Add the data
for($i = 0; $i < count($info); ++$i) {
fputcsv($fileHandle,$info[$i],";");
}
//close file
fclose($fileHandle);
編輯:
這裏是我的CSV的第一行用記事本打開:
ID,名稱,編號,數量
2; 「女襯衫 - 顏色:白色,尺碼:M」; demo_2; 6
3;「印花連衣裙 - 顏色:橙色,尺碼:S「; demo_3; 4
你使用單引號和雙引號的方式會讓我精神上受傷。對於任何不需要[插入](https://en.wikipedia.org/wiki/String_interpolation)的任何內容,您都應該使用單引號,並且對任何內容使用雙引號。基本上,你所有的雙引號在你的代碼中應該是單引號 – GrumpyCrouton
你能在文本編輯器中打開你的csv文件輸出並與我們分享它的內容嗎?也許只是前3-4行是需要的 – GrumpyCrouton
是的我知道,我原本有單引號,我從單引號更改爲雙引號,只是爲了檢查它是否會因爲某種原因使其工作,但事實並非如此。忘了改回它。 – Sefean