ホームページ > バックエンド開発 > PHPチュートリアル > PHP で一度に 100,000 レコードを Excel にエクスポートする方法はありますか?

PHP で一度に 100,000 レコードを Excel にエクスポートする方法はありますか?

ringa_lee
リリース: 2023-03-01 07:24:01
オリジナル
2692 人が閲覧しました

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 レコードをエクスポートすると、書き込みがタイムアウトする傾向があります。サーバーのパフォーマンスとサイズに基づいてテストすることをお勧めします。内容

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート