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.
Il 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.
Ensuite, j'ai trouvé quelques solutions.
Solution front-end
PHP coopère avec SheetJS/js-xlsx pour exporter une grande quantité de données Excel
Les avantages de cette solution ne nécessitent pas d'interfaces supplémentaires, mais dépendent 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 sur le formulaire d'exportation. , et l'exigence est pure. Les données ne peuvent pas exister sous forme de texte enrichi, comme des images.
Ce qui suit présente principalement comment exporter au format CSV
Introduction à la documentation officielle php
<?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); ?>
Exporter un exemple complet
<?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); ?>
L'utiliser avec chunk dans Laravel peut facilement et rapidement exporter toutes les données.
Recommandations associées :
Partage de conseils sur la façon d'exporter des données vers Excel à l'aide de Python
php exporte les données au format de fichier execl
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!