ホームページ >バックエンド開発 >PHPチュートリアル >PHP で一度に 100,000 レコードを Excel にエクスポートする方法はありますか?
PHP で一度に 100,000 レコードを Excel にエクスポートする方法はありますか?
PHP で一度に 100,000 レコードを Excel にエクスポートする方法はありますか?
MYSQLI_USE_RESULT バッファなしクエリ、長いストリームを使用し、ループ fetch_row で MySQL から 1 つずつ取得し、 fputcsv($fp, $row) がファイルにデータを 1 つずつ書き込み、それをユーザーにダウンロードのために提供しますコードのロジックは大まかに次のとおりです:
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/...
バッチで書き込み、一度に 100,000 レコードをエクスポートすると、書き込みがタイムアウトする傾向があります。サーバーのパフォーマンスとサイズに基づいてテストすることをお勧めします。内容