PHP实现excel
PHP 实现 Excel 操作的方法
使用 PHPExcel 或 PhpSpreadsheet 库
PhpSpreadsheet 是 PHPExcel 的继任者,提供了强大的 Excel 文件操作功能。可以读取、写入和操作 Excel 文件(xls、xlsx 等格式)。
安装 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', 'Hello World !');
$writer = new Xlsx($spreadsheet);
$writer->save('hello_world.xlsx');
读取 Excel 文件:
$reader = new \PhpOffice\PhpSpreadsheet\Reader\Xlsx();
$spreadsheet = $reader->load("example.xlsx");
$worksheet = $spreadsheet->getActiveSheet();
echo $worksheet->getCell('A1')->getValue();
使用原生 PHP 导出 CSV
CSV 是一种简单的表格格式,可以用 Excel 打开:

header('Content-Type: text/csv');
header('Content-Disposition: attachment; filename="example.csv"');
$output = fopen('php://output', 'w');
fputcsv($output, ['Name', 'Age']);
fputcsv($output, ['John', 25]);
fputcsv($output, ['Jane', 30]);
fclose($output);
使用 PHP 生成 HTML 表格并导出为 Excel
通过设置 header 可以将 HTML 表格导出为 Excel:
header("Content-Type: application/vnd.ms-excel");
header("Content-Disposition: attachment; filename=example.xls");
echo "<table>
<tr><th>Name</th><th>Age</th></tr>
<tr><td>John</td><td>25</td></tr>
<tr><td>Jane</td><td>30</td></tr>
</table>";
使用第三方 API
对于更复杂的需求,可以考虑使用 Google Sheets API 或其他云服务 API 来操作 Excel 文件。
性能优化建议
处理大型 Excel 文件时,使用 chunk 读取或流式处理以避免内存问题。PhpSpreadsheet 提供了相关方法:
$reader = new \PhpOffice\PhpSpreadsheet\Reader\Xlsx();
$reader->setReadDataOnly(true);
$spreadsheet = $reader->load("large_file.xlsx");
以上方法涵盖了从简单到复杂的 Excel 操作需求,可以根据具体场景选择合适的方式。






