首頁 >後端開發 >php教程 >PHP有什麼辦法 可以把10萬筆記錄一次匯出到Excel裡?

PHP有什麼辦法 可以把10萬筆記錄一次匯出到Excel裡?

ringa_lee
ringa_lee原創
2018-05-14 14:04:232691瀏覽

PHP有什麼辦法 可以把10萬筆記錄一次匯出到Excel裡?

回覆內容:

PHP有什麼辦法 可以把10萬筆記錄一次匯出到Excel裡?

使用MYSQLI_USE_RESULT無緩衝查詢,細水長流,逐條從MySQL獲取,在循環fetch_row裡fputcsv($fp, $row)逐條寫入資料到檔案,然後提供給使用者下載.邏輯大概如下:

query($sql, MYSQLI_USE_RESULT); //无缓冲查询
while ($row = $result->fetch_row()) { //逐条读取(无缓冲查询)
    fputcsv($fp, $row); //逐条写入
}
fclose($fp);
header('Content-Disposition: attachment; filename="file.csv"');
readfile('file.csv');

你正常下載就可以啊。

PHPExcel支援行緩存,將設定一個檔案快取即可。
https://github.com/PHPOffice/...

分批次寫入,一次導出10w筆記錄並進行寫入容易出現超時的情況,建議根據伺服器的效能狀況及內容的大小進行測試

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn