Ausführliche Erklärung des PHP-Datenexports

小云云
Freigeben: 2023-03-20 11:44:01
Original
1894 Leute haben es durchsucht

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

Einführung in die offizielle PHP-Dokumentation

<?php

$list = array (
    array(&#39;aaa&#39;, &#39;bbb&#39;, &#39;ccc&#39;, &#39;dddd&#39;),
    array(&#39;123&#39;, &#39;456&#39;, &#39;789&#39;),
    array(&#39;"aaa"&#39;, &#39;"bbb"&#39;)
);

$fp = fopen(&#39;file.csv&#39;, &#39;w&#39;);

foreach ($list as $fields) {
    fputcsv($fp, $fields);
}

fclose($fp);
?>
Nach dem Login kopieren

Vollständiges Beispiel exportieren

<?php

$name = &#39;test&#39;;
header ( "Content-type:application/vnd.ms-excel" );
header ( "Content-Disposition:filename=".$name.".csv" );
header (&#39;Cache-Control: max-age=0&#39;);

//打开PHP文件句柄,php://output 表示直接输出到浏览器
$fp = fopen(&#39;php://output&#39;, &#39;a&#39;);    

// 写入BOM头,防止乱码
fwrite($fp, chr(0xEF).chr(0xBB).chr(0xBF)); 

// 生成的测试数据
function test()
{
    for ($i=0; $i < 150000; $i++) {
        yield [&#39;name&#39;, $i, &#39;男&#39;];
    }
}

// 表头
$headers = [&#39;名字&#39;, &#39;年龄&#39;, &#39;性别&#39;];

fputcsv($fp, $headers);

foreach (test() as $value) {
    fputcsv($fp, $value);
}

fclose($fp);
?>
Nach dem Login kopieren

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!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage