php数据如何实现数据导出为Excel_php数据PHPExcel库操作表格

20次阅读

答案:php通过 PHPexcel库实现数据导出为 Excel,先引入库文件,连接 数据库 获取数据,创建 Excel对象 并设置属性、表头和内容,最后输出下载。推荐使用 PHPSpreadsheet 替代 PHPExcel 以支持更多格式。

php 数据如何实现数据导出为 Excel_php 数据 PHPExcel 库操作表格

PHP 实现数据导出为 Excel,常用的方式是借助 PHPExcel 库(现已被 PHPSpreadsheet 取代),它可以灵活操作 Excel 文件的读取与写入。虽然 PHPExcel 已停止维护,但仍有大量项目在使用。以下是基于 PHPExcel 库将数据库数据导出为 Excel 表格的完整操作流程。

安装与引入 PHPExcel 库

PHPExcel 未通过 composer 默认维护,但可通过手动引入或旧版方式使用:

方法一:手动下载并引入

  • gitHub 或其他资源下载 PHPExcel 项目包
  • 解压后放入项目目录,如libs/PHPExcel
  • 使用 require_once 加载核心文件

示例代码:

require_once 'libs/PHPExcel/Classes/PHPExcel.php';

方法二:使用 Composer(推荐)

尽管 PHPExcel 已废弃,仍可安装:

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

composer require phpoffice/phpexcel

连接数据库并获取数据

通常从 mysql 等数据库查询数据,准备导出内容:

$pdo = new PDO("mysql:host=localhost;dbname=test", "username", "password"); $stmt = $pdo->query("SELECT id, name, email, created_at FROM users"); $data = $stmt->fetchAll(PDO::FETCH_ASSOC);

确保查询结果为二维数组结构,便于遍历写入 Excel。

php 数据如何实现数据导出为 Excel_php 数据 PHPExcel 库操作表格

怪兽 AI 数字人

数字人短视频创作,数字人直播,实时驱动数字人

php 数据如何实现数据导出为 Excel_php 数据 PHPExcel 库操作表格44

查看详情 php 数据如何实现数据导出为 Excel_php 数据 PHPExcel 库操作表格

使用 PHPExcel 创建 Excel 文件

初始化 PHPExcel 对象,设置表头,填充数据:

$objPHPExcel = new PHPExcel();  // 设置文档属性 $objPHPExcel->getProperties()->setCreator("System")              ->setLastModifiedBy("User")              ->setTitle(" 用户数据导出 ")              ->setSubject(" 用户信息 ");  // 设置当前工作表 $objPHPExcel->setActiveSheetIndex(0); $objsheet = $objPHPExcel->getActiveSheet();  // 写入表头 $objSheet->setCellValue('A1', 'ID'); $objSheet->setCellValue('B1', '姓名'); $objSheet->setCellValue('C1', '邮箱'); $objSheet->setCellValue('D1', '注册时间');  // 填充数据(从第二行开始)$row = 2; foreach ($data as $item) {$objSheet->setCellValue('A' . $row, $item['id']);     $objSheet->setCellValue('B' . $row, $item['name']);     $objSheet->setCellValue('C' . $row, $item['email']);     $objSheet->setCellValue('D' . $row, $item['created_at']);     $row++; }  // 自动调整列宽 $objSheet->getColumnDimension('A')->setAutoSize(true); $objSheet->getColumnDimension('B')->setAutoSize(true); $objSheet->getColumnDimension('C')->setAutoSize(true); $objSheet->getColumnDimension('D')->setAutoSize(true);  // 设置标题行加粗 $objSheet->getStyle('A1:D1')->getFont()->setBold(true);

输出 Excel 文件供下载

设置 http 响应头,将 Excel 文件输出到 浏览器,触发下载:

header('Content-Type: application/vnd.ms-excel'); header('Content-Disposition: attachment;filename="users_export.xls"'); header('Cache-Control: max-age=0');  $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5'); // Excel5 对应。xls 格式 $objWriter->save('php://output');

这样用户访问该 PHP 脚本时,浏览器 会自动弹出下载对话框,保存为 users_export.xls 文件。

注意:Excel5生成的是。xls(二进制格式),若需。xlsx 格式,应使用 'Excel2007' 并更改 MIME 类型和扩展名:

header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'); header('Content-Disposition: attachment;filename="users_export.xlsx"');  $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007'); $objWriter->save('php://output');

基本上就这些。使用 PHPExcel 可以轻松将 PHP 数据导出为 Excel 表格,适合中小规模数据导出需求。对于新项目,建议迁移到 PHPSpreadsheet,语法更现代,支持更多格式。但老项目中 PHPExcel 依然稳定可用。

站长
版权声明:本站原创文章,由 站长 2025-11-02发表,共计2558字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
1a44ec70fbfb7ca70432d56d3e5ef742
text=ZqhQzanResources