Maison >développement back-end >tutoriel php >Explication détaillée de l'exportation de données PHP
Récemment, je travaille sur un projet de gestion backend, et il est généralement nécessaire d'exporter des données pour exceler dans le backend. Après les recherches précédentes, il est généralement recommandé d'utiliser php excel. J'utilise souvent laravel, et il y en a aussi. un package correspondant très utile pour php Excel.
C'est très simple à utiliser au début, mais lorsque les données à exporter atteignent des dizaines de milliers, cela posera directement le problème de mémoire insuffisante.
L'avantage de cette solution est qu'elle ne nécessite pas d'interfaces supplémentaires, mais elle dépend des développeurs front-end.
Exporter vers csv
Cette solution est plus rapide et entièrement implémentée en back-end. L'inconvénient est que le format csv a des exigences relativement élevées. le formulaire d'exportation. L'exigence concerne des données pures et il ne peut pas y avoir de formulaires de texte enrichi tels que des images.
Ce qui suit présente principalement comment exporter au format CSV
<?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); ?>
Coopérer dans Laravel Chunk peut être utilisé pour exporter facilement et rapidement toutes les données.
Recommandations associées :
Explication détaillée des points de connaissance sur l'exportation de données PHP
Problèmes avec l'exportation de données PHP et le service WEB
Problèmes liés à l'export des données PHP et au service WEB
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!