Gibt es in PHP eine Möglichkeit, 100.000 Datensätze gleichzeitig nach Excel zu exportieren?
Gibt es in PHP eine Möglichkeit, 100.000 Datensätze gleichzeitig nach Excel zu exportieren?
Verwenden Sie die ungepufferte Abfrage MYSQLI_USE_RESULT, um Daten einzeln von MySQL abzurufen. In der fetch_row-Schleife schreibt fputcsv($fp, $row) Daten einzeln in die Datei und stellt sie dann dem Benutzer zum Herunterladen zur Verfügung . Die Codelogik ist ungefähr wie folgt:
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');
Sie können es einfach normal herunterladen.
PHPExcel unterstützt Zeilen-Caching, richten Sie einfach einen Datei-Cache ein.
https://github.com/PHPOffice/...
Das gleichzeitige Schreiben von 100.000 Datensätzen kann zu Zeitüberschreitungen führen. Es wird empfohlen, sich auf die Leistung des zu verlassen Server und Inhaltsgröße zum Testen