PHPExcel 是一个 PHP 库,用于读取、写入和操作 Excel 文件。它支持多种 Excel 文件格式,包括 .xls 和 .xlsx,以及其他类似格式的文件。
注:它已经被 PhpSpreadsheet 所取代,PhpSpreadsheet 是 PHPExcel 的继任者,并提供了更多功能和更好的性能。
PHPExcel 的主要功能
- 读取 Excel 文件:
- 可以从 Excel 文件中读取数据,包括 
.xls和.xlsx文件格式。 - 支持读取工作簿、工作表、单元格数据等。
 
 - 可以从 Excel 文件中读取数据,包括 
 - 写入 Excel 文件:
- 可以将数据写入 Excel 文件,并保存为 
.xls和.xlsx格式。 - 支持创建新工作簿、工作表,并向单元格中写入数据。
 
 - 可以将数据写入 Excel 文件,并保存为 
 - 操作 Excel 文件:
- 支持修改现有的 Excel 文件,包括添加、删除和修改工作表。
 - 可以设置单元格的样式(如字体、颜色、边框、对齐方式等)。
 
 - 格式支持:
- 支持多种 Excel 格式,如 
.xls、.xlsx、.csv等。 - 还支持一些特殊的格式,如日期和时间格式、货币格式等。
 
 - 支持多种 Excel 格式,如 
 - 其他功能:
- 可以创建图表。
 - 支持公式和函数计算。
 - 可以设置单元格的公式。
 
 
PHPExcel 的基本用法
1. 安装
PHPExcel 通常通过 Composer 安装
composer require phpoffice/phpexcel
2. 读取 Excel 文件
<?php
require ‘vendor/autoload.php’;
use PHPExcel_IOFactory;
$inputFileName = ‘path/to/existing-file.xlsx’;
$objPHPExcel = PHPExcel_IOFactory::load($inputFileName);
$sheet = $objPHPExcel->getActiveSheet();
$data = $sheet->toArray(null, true, true, true);
// 输出数据
print_r($data);
?>
3. 写入 Excel 文件
<?php
require ‘vendor/autoload.php’;
use PHPExcel;
use PHPExcel_Writer_Excel2007;
// 创建新的 Excel 对象
$objPHPExcel = new PHPExcel();
$sheet = $objPHPExcel->getActiveSheet();
// 设置数据
$sheet->setCellValue(‘A1’, ‘Hello’);
$sheet->setCellValue(‘B1’, ‘World’);
// 保存 Excel 文件
$writer = new PHPExcel_Writer_Excel2007($objPHPExcel);
$writer->save(‘path/to/new-file.xlsx’);
?>
4. 设置单元格样式
<?php
require ‘vendor/autoload.php’;
use PHPExcel;
use PHPExcel_Writer_Excel2007;
use PHPExcel_Style_Alignment;
use PHPExcel_Style_Fill;
use PHPExcel_Style_Font;
// 创建新的 Excel 对象
$objPHPExcel = new PHPExcel();
$sheet = $objPHPExcel->getActiveSheet();
// 设置数据
$sheet->setCellValue(‘A1’, ‘Styled Text’);
// 设置单元格样式
$sheet->getStyle(‘A1’)->applyFromArray(array(
‘font’ => array(
‘bold’ => true,
‘color’ => array(‘rgb’ => ‘FF0000’),
‘size’ => 15,
‘name’ => ‘Verdana’
),
‘fill’ => array(
‘type’ => PHPExcel_Style_Fill::FILL_SOLID,
‘color’ => array(‘rgb’ => ‘FFFF00’)
),
‘alignment’ => array(
‘horizontal’ => PHPExcel_Style_Alignment::HORIZONTAL_CENTER,
‘vertical’ => PHPExcel_Style_Alignment::VERTICAL_CENTER
)
));
// 保存 Excel 文件
$writer = new PHPExcel_Writer_Excel2007($objPHPExcel);
$writer->save(‘path/to/styled-file.xlsx’);
?>
注意事项
- 已弃用: 
PHPExcel在 2017 年停止更新,建议使用PhpSpreadsheet作为替代。PhpSpreadsheet提供了更好的性能和更多的功能,并且是PHPExcel的官方继任者。 - 性能: 对于大型文件操作,
PHPExcel可能会比较慢,PhpSpreadsheet在性能上有很大的改进。