PHP数据怎么导出_PHP数据导出为Excel或CSV方法详解。

爱谁谁
发布: 2025-11-25 21:53:20
原创
360人浏览过
可使用CSV、PHPExcel或PhpSpreadsheet导出PHP数据。1、CSV通过设置header、输出流写入数据;2、PHPExcel支持复杂Excel文件,需安装库并用IOFactory输出;3、PhpSpreadsheet为PHPExcel升级版,支持xlsx格式,性能更优,通过Xlsx写入器导出。

php数据怎么导出_php数据导出为excel或csv方法详解。

如果您需要将PHP应用中的数据导出为Excel或CSV格式,以便进行数据分析或报表生成,可以通过多种方式实现。以下是几种常用且有效的数据导出方法。

一、导出为CSV文件

将数据导出为CSV文件是一种轻量级且兼容性高的方法,适用于大多数表格数据的导出需求。CSV文件可以用Excel打开,也便于程序处理。

1、设置响应头信息,告知浏览器即将下载一个CSV文件:header('Content-Type: text/csv; charset=utf-8');

2、设置下载的文件名:header('Content-Disposition: attachment; filename=data.csv');

立即学习PHP免费学习笔记(深入)”;

3、打开输出流:$output = fopen('php://output', 'w');

4、写入UTF-8 BOM以避免中文乱码fputs($output, "\xEF\xBB\xBF");

5、写入表头(例如):fputcsv($output, ['ID', '姓名', '邮箱']);

6、遍历数据并逐行写入CSV:foreach ($data as $row) { fputcsv($output, $row); }

7、关闭输出流:fclose($output);

二、使用PHPExcel库导出为Excel

PHPExcel是一个功能强大的第三方库,支持创建复杂的Excel文件(.xls和.xlsx),适合需要样式、公式或多工作表的场景。

1、通过Composer安装PHPExcel:composer require phpoffice/phpexcel

2、引入自动加载文件:require_once 'vendor/autoload.php';

3、创建一个新的PHPExcel对象:$objPHPExcel = new PHPExcel();

4、设置当前激活的工作表:$objPHPExcel->setActiveSheetIndex(0);

5、写入表头数据(例如):$objPHPExcel->getActiveSheet()->setCellValue('A1', 'ID'); $objPHPExcel->getActiveSheet()->setCellValue('B1', '姓名');

6、循环写入数据行:foreach ($data as $i => $row) { $objPHPExcel->getActiveSheet()->setCellValue('A'.($i+2), $row[0]); }

7、设置响应头并输出文件:header('Content-Type: application/vnd.ms-excel'); header('Content-Disposition: attachment;filename="data.xls"');

8、使用PHPExcel的IOFactory输出内容:$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5'); $objWriter->save('php://output');

三、使用PhpSpreadsheet导出Excel文件

PhpSpreadsheet是PHPExcel的继任者,提供了更现代的代码结构和更好的性能,支持最新的Office Open XML格式(.xlsx)。

1、安装PhpSpreadsheet:composer require phpoffice/phpspreadsheet

2、引入命名空间并创建工作簿对象:use PhpOffice\PhpSpreadsheet\Spreadsheet; use PhpOffice\PhpSpreadsheet\Writer\Xlsx; $spreadsheet = new Spreadsheet();

3、获取活动工作表:$sheet = $spreadsheet->getActiveSheet();

4、写入列标题:$sheet->setCellValue('A1', 'ID'); $sheet->setCellValue('B1', '姓名'); $sheet->setCellValue('C1', '邮箱');

5、逐行填充数据:foreach ($data as $idx => $row) { $sheet->fromArray($row, null, 'A'.($idx+2)); }

6、设置HTTP响应头:header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');

7、设置文件下载名称:header('Content-Disposition: attachment;filename="export.xlsx"');

8、创建写入器并输出到浏览器:$writer = new Xlsx($spreadsheet); $writer->save('php://output');

以上就是PHP数据怎么导出_PHP数据导出为Excel或CSV方法详解。的详细内容,更多请关注php中文网其它相关文章!

PHP速学教程(入门到精通)
PHP速学教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号