当前位置:首页 > PHP

php实现excel导出excel

2026-01-28 19:45:33PHP

PHPExcel 库实现 Excel 导出

PHPExcel 是一个流行的 PHP 库,用于处理 Excel 文件。以下是使用 PHPExcel 导出 Excel 的基本步骤。

安装 PHPExcel 库,可以通过 Composer 进行安装:

composer require phpoffice/phpexcel

创建一个简单的 Excel 文件并导出:

require_once 'vendor/autoload.php';

$objPHPExcel = new PHPExcel();
$objPHPExcel->setActiveSheetIndex(0);
$sheet = $objPHPExcel->getActiveSheet();

$sheet->setCellValue('A1', '姓名');
$sheet->setCellValue('B1', '年龄');
$sheet->setCellValue('A2', '张三');
$sheet->setCellValue('B2', '25');

header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');
header('Content-Disposition: attachment;filename="example.xlsx"');
header('Cache-Control: max-age=0');

$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007');
$objWriter->save('php://output');
exit;

PhpSpreadsheet 实现 Excel 导出

PhpSpreadsheet 是 PHPExcel 的继承者,推荐使用它来处理 Excel 文件。以下是使用 PhpSpreadsheet 导出 Excel 的示例。

安装 PhpSpreadsheet:

composer require phpoffice/phpspreadsheet

创建一个 Excel 文件并导出:

require 'vendor/autoload.php';

use PhpOffice\PhpSpreadsheet\Spreadsheet;
use PhpOffice\PhpSpreadsheet\Writer\Xlsx;

$spreadsheet = new Spreadsheet();
$sheet = $spreadsheet->getActiveSheet();

$sheet->setCellValue('A1', '姓名');
$sheet->setCellValue('B1', '年龄');
$sheet->setCellValue('A2', '李四');
$sheet->setCellValue('B2', '30');

$writer = new Xlsx($spreadsheet);
header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');
header('Content-Disposition: attachment;filename="example.xlsx"');
header('Cache-Control: max-age=0');

$writer->save('php://output');
exit;

使用 CSV 格式导出数据

如果不需要复杂的 Excel 功能,可以使用 CSV 格式导出数据,这种方法简单高效。

header('Content-Type: text/csv');
header('Content-Disposition: attachment;filename="example.csv"');

$output = fopen('php://output', 'w');
fputcsv($output, ['姓名', '年龄']);
fputcsv($output, ['王五', '28']);
fclose($output);
exit;

使用 Laravel Excel 包

在 Laravel 框架中,可以使用 Laravel Excel 包来简化 Excel 导出。

安装 Laravel Excel:

composer require maatwebsite/excel

创建一个导出类:

namespace App\Exports;

use Maatwebsite\Excel\Concerns\FromArray;

class UsersExport implements FromArray
{
    public function array(): array
    {
        return [
            ['姓名', '年龄'],
            ['赵六', '35']
        ];
    }
}

在控制器中调用导出:

use App\Exports\UsersExport;
use Maatwebsite\Excel\Facades\Excel;

public function export() 
{
    return Excel::download(new UsersExport, 'users.xlsx');
}

注意事项

确保服务器有足够的权限写入文件,特别是在使用文件系统保存 Excel 文件时。

设置正确的 HTTP 头信息,确保浏览器正确处理文件下载。

php实现excel导出excel

对于大数据量导出,考虑使用分块处理或队列任务,避免内存不足或超时问题。

标签: phpexcel
分享给朋友:

相关文章

php实现图片上传

php实现图片上传

实现图片上传的基本步骤 创建HTML表单用于文件上传,表单需设置enctype="multipart/form-data"属性,确保文件数据正确传输。 <form action="upload…

php购物车实现

php购物车实现

PHP购物车实现方法 使用PHP实现购物车功能可以通过多种方式完成,以下是几种常见的实现方法: Session存储购物车数据 利用PHP的$_SESSION超全局变量存储购物车数据是最简单的方法。用…

php实现搜索

php实现搜索

PHP实现搜索功能的方法 在PHP中实现搜索功能通常涉及数据库查询和用户输入的匹配。以下是几种常见的实现方式: 使用MySQL LIKE语句 通过简单的LIKE语句实现基础搜索: $searchT…

php 无限分类的实现

php 无限分类的实现

无限分类的实现方法 无限分类通常用于构建树形结构数据,如商品分类、多级菜单等。以下是几种常见的实现方式: 邻接列表模型(Adjacency List) 邻接列表是最简单的实现方式,通过在每个节点中存…

php实现文章

php实现文章

PHP实现文章管理功能 在PHP中实现文章管理功能通常涉及数据库操作、表单处理和页面展示。以下是实现文章管理的基本步骤: 数据库设计 创建articles表,包含字段如id、title、conten…

php实现秒杀

php实现秒杀

PHP实现秒杀功能的关键技术 秒杀系统需要解决高并发、数据一致性、系统稳定性等问题。以下是PHP实现秒杀功能的核心技术方案: 数据库优化 使用InnoDB引擎的行级锁和事务特性,确保数据一致性。商品…