Vor kurzem arbeite ich an einem Backend-Management-Projekt und es besteht normalerweise die Notwendigkeit, Daten nach Excel im Backend zu exportieren. Normalerweise wird empfohlen, PHP Excel zu verwenden, und das ist auch der Fall ein sehr nützliches entsprechendes Paket für PHP Excel.
Die Verwendung ist zunächst sehr einfach, aber wenn die zu exportierenden Daten Zehntausende erreichen, führt dies direkt zu einem Problem mit unzureichendem Speicher.
Der Vorteil dieser Lösung besteht darin, dass sie keine zusätzlichen Schnittstellen benötigt, aber auf Frontend-Entwickler angewiesen ist.
Export nach CSV
Diese Lösung ist schneller und vollständig im Backend implementiert. Der Nachteil besteht darin, dass das CSV-Format relativ hohe Anforderungen stellt Beim Exportformular handelt es sich um reine Daten, es dürfen keine Rich-Text-Formulare wie Bilder vorhanden sein.
Im Folgenden wird hauptsächlich das Exportieren von CSV vorgestellt
<?php $list = array ( array('aaa', 'bbb', 'ccc', 'dddd'), array('123', '456', '789'), array('"aaa"', '"bbb"') ); $fp = fopen('file.csv', 'w'); foreach ($list as $fields) { fputcsv($fp, $fields); } fclose($fp); ?>
<?php $name = 'test'; header ( "Content-type:application/vnd.ms-excel" ); header ( "Content-Disposition:filename=".$name.".csv" ); header ('Cache-Control: max-age=0'); //打开PHP文件句柄,php://output 表示直接输出到浏览器 $fp = fopen('php://output', 'a'); // 写入BOM头,防止乱码 fwrite($fp, chr(0xEF).chr(0xBB).chr(0xBF)); // 生成的测试数据 function test() { for ($i=0; $i < 150000; $i++) { yield ['name', $i, '男']; } } // 表头 $headers = ['名字', '年龄', '性别']; fputcsv($fp, $headers); foreach (test() as $value) { fputcsv($fp, $value); } fclose($fp); ?>
Kooperieren Sie in Laravel Chunk können alle Daten einfach und schnell exportiert werden.
Verwandte Empfehlungen:
Detaillierte Erläuterung der Wissenspunkte zum PHP-Datenexport
Probleme mit dem PHP-Datenexport und dem WEB-Dienst
Probleme im Zusammenhang mit PHP-Datenexport und WEB-Dienst
Das obige ist der detaillierte Inhalt vonAusführliche Erklärung des PHP-Datenexports. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!