當前位置:首頁 » 編程語言 » php導出csv

php導出csv

發布時間: 2022-08-30 09:08:11

php導出csv,如下代碼為什麼不彈出提示保存或打開CSV文件


header ( "Content-type:application/vnd.ms-excel;charset=utf-8" );

⑵ php從資料庫導出csv格式的Excel表格是,欄位本身就有逗號怎麼辦說在欄位上加雙引號,但加在哪

$data[$key]=implode("\t",$data[$key]);
你的程序用這個語句把一行數組轉換為TAB分割的字元串,這樣EXCEL是可以打開的,只是不完全符合CSV的規則(逗號分開),要改為逗號分開,而且每個欄位要用引號,該語句修改為下面這樣既可:
$data[$key]='"' . implode('","',$data[$key]) . '"';

⑶ php導出csv文件時,只能在瀏覽器上顯示文件內容,沒有下載提示,更沒有下載的csv文件,幫忙指點啊!

據我的理解,export_csv這個函數的功能就是顯示csv內容。

按照你的說明猜測,你應該是先將資料庫的內容輸出到csv文件里,然後再給出一個指向該文件的下載鏈接就可以了。

export_csv這個函數可以設計成直接用 file 操作函數寫入內容就可以了,因為csv本身是純文本文件,沒有什麼特殊的文件格式。

⑷ php 導出csv時如何設置屬性,合並單元格之類的。。

CSV文件本身就是不帶格式符號的純文字,無法直接在PHP中控制單元格合並這樣的事情,我覺得你可以用html代碼生成execl能直接讀的文檔比較好

$result=mysql_query("select*fromstudentorderbyidasc");
$str="<tr><td>姓名</td><td>性別</td><td>年齡</td></tr> ";
$str=iconv('utf-8','gb2312',$str);
while($row=mysql_fetch_array($result)){
$name=iconv('utf-8','gb2312',$row['name']);
$sex=iconv('utf-8','gb2312',$row['sex']);
//要控制合並啥的,在下邊修改即可
$str.="<tr><td>".$name."</td><td>".$sex."</td><td>".$row['age']."</td></tr>";
}

$filename=date('Ymd').'.xls';
export_xls($filename,$str);


functionexport_xls($filename,$string){
//可以修改樣式,控制字型大小、字體、表格線、對齊方式、表格寬度、單元格padding等,在下邊的<style></style>
$header="<htmlxmlns:o="urn:schemas-microsoft-com:office:office" xmlns:x="urn:schemas-microsoft-com:office:excel" xmlns="http://www.w3.org/TR/REC-html40"> <!DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html> <head> <metahttp-equiv="Content-type"content="text/html;charset=GBK"/> <style> td{padding:4px;mso-ignore:padding;color:windowtext;font-size:10.0pt;font-weight:400;font-style:normal;text-decoration:none;font-family:Arial;mso-generic-font-family:auto;mso-font-charset:134;mso-number-format:General;text-align:general;vertical-align:middle;border:.5ptsolidwindowtext;mso-background-source:auto;mso-pattern:auto;mso-protection:lockedvisible;white-space:nowrap;mso-rotate:0;} </style> </head><body> <tablex:strborder=0cellpadding=0cellspacing=0width=100%style="border-collapse:collapse">";
$footer="</table> </body></html>";
$exportString=$header.$string.$footer;

header("Cache-Control:public");
header("Pragma:public");
header("Content-type:Content-type:application/vnd.ms-excel");
header("Accept-Ranges:bytes");
header("Content-Disposition:attachment;filename=".$filename);
header("Content-length:".strlen($exportString));
echo$exportString;
exit;
}

⑸ PHP怎麼在導出csv的時候加雙引號

  1. 使用默認的雙引號做包圍符 ... 但是強制所有元素觸發 ...


foreach($linesas&$line){
foreach($lineas&$column){
$column=$column.'';
}
}


產生的結果大概會類似於下面這樣 ...

"CA","12","Y"
"MU","13","Y"
"MU","12","N"

2.我們去研究手冊 ... 手冊上關於這個函數的說明是這樣的 ...

intfputcsv(resource$handle,array$fields[,string$delimiter=','[,string$enclosure='"']])

你可以看到這個函數支持自定義包圍符 ... 也就是第四個參數 $enclosure ...

於是我們可以手動在所有元素的兩側加上雙引號 ... 並修改默認的包圍符為空 ...

foreach($old['lines']as$line){
fputcsv($new,$line,',','');
}

這種方式可以讓你的例子返回完美的結果 ...


以上是兩種方法。

⑹ PHP導出CSV格式文件因為導出數據中有英文逗號導致分列錯誤怎麼處理

CSV文件的格式本身就是以英文逗號分列,然後回車分行的文本類型!所以,你的問題,如果某一列中包含英文逗號的話將這一列用引號引起來!比如:
a,"b,c",d
這樣就會是三列,而不是四列

⑺ php中如何導入導出CSV格式的文件

其實你可以用
phpmyadmin
實現導入導出,不過導入的時候欄位要和數據表的欄位一一對應,參考資料裡面的直接用PHP讀取excel的,可能也會對你有幫助!

⑻ php csv導出有時有數據有時無數據又不報錯

這個簡單,
加個條件;
where id>=0
前提是ID要自增就可以了
-----------------------
這可能是數據量過大,
寫入超時造成的;
你把持續連接時間設置的多一點;就可以了;

⑼ php導出資料庫CSV文件時為什麼去取到值輸出文件卻為空

為空就是沒有正常寫入唄,查看相關寫許可權

熱點內容
adbandroid版本 發布:2025-01-16 13:53:14 瀏覽:388
直鏈雲存儲 發布:2025-01-16 13:19:30 瀏覽:727
電腦主機伺服器多少錢 發布:2025-01-16 13:00:28 瀏覽:668
linuxoracle操作 發布:2025-01-16 12:40:50 瀏覽:47
河北存儲服務價格 發布:2025-01-16 12:39:21 瀏覽:351
掛機伺服器的搭建 發布:2025-01-16 12:34:07 瀏覽:417
安卓怎麼刪除信任憑證 發布:2025-01-16 12:22:06 瀏覽:338
代理編譯 發布:2025-01-16 12:07:59 瀏覽:794
伺服器為什麼老是無響應 發布:2025-01-16 12:07:59 瀏覽:894
安卓怎麼傳軟體到蘋果 發布:2025-01-16 12:01:28 瀏覽:959