当前位置:首页 > PHP

PHP实现excel

2026-04-03 17:25:47PHP

PHP 实现 Excel 操作的方法

使用 PHPExcel 或 PhpSpreadsheet 库

PhpSpreadsheet 是 PHPExcel 的继任者,提供了强大的 Excel 文件读写功能。安装可通过 Composer:

composer require phpoffice/phpspreadsheet

读取 Excel 文件示例代码:

require 'vendor/autoload.php';
use PhpOffice\PhpSpreadsheet\IOFactory;

$spreadsheet = IOFactory::load("example.xlsx");
$worksheet = $spreadsheet->getActiveSheet();
echo $worksheet->getCell('A1')->getValue();

写入 Excel 文件示例代码:

PHP实现excel

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');

使用原生 PHP 导出 CSV

对于简单数据导出,CSV 是轻量级替代方案:

$data = [
    ['Name', 'Email'],
    ['John', 'john@example.com'],
    ['Jane', 'jane@example.com']
];

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

$output = fopen('php://output', 'w');
foreach ($data as $row) {
    fputcsv($output, $row);
}
fclose($output);

使用 PHP 生成 XML 格式的 Excel

Excel 支持 XML 格式,可直接生成:

PHP实现excel

header('Content-type: application/vnd.ms-excel');
header('Content-Disposition: attachment; filename="file.xml"');
echo '<?xml version="1.0"?>
<Workbook xmlns="urn:schemas-microsoft-com:office:spreadsheet">
<Worksheet><Table>
<Row><Cell><Data ss:Type="String">Hello</Data></Cell></Row>
</Table></Worksheet></Workbook>';

使用第三方 API 服务

对于复杂需求,可考虑调用 Google Sheets API 或 Microsoft Graph API 等云端服务:

// Google Sheets API 示例
$client = new Google_Client();
$client->setAuthConfig('credentials.json');
$client->addScope(Google_Service_Sheets::SPREADSHEETS);
$service = new Google_Service_Sheets($client);
$spreadsheetId = 'your-spreadsheet-id';
$range = 'Sheet1!A1:B2';
$response = $service->spreadsheets_values->get($spreadsheetId, $range);
$values = $response->getValues();

性能优化建议

处理大型 Excel 文件时启用缓存:

$cacheSettings = [
    'directory' => __DIR__.'/cache'
];
\PhpOffice\PhpSpreadsheet\Settings::setCache(
    new PhpOffice\PhpSpreadsheet\Cache\Filesystem($cacheSettings)
);

对于只读操作,使用快速模式:

$reader = new \PhpOffice\PhpSpreadsheet\Reader\Xlsx();
$reader->setReadDataOnly(true);
$spreadsheet = $reader->load("large_file.xlsx");

标签: PHPexcel
分享给朋友:

相关文章

PHP实现会员管理

PHP实现会员管理

PHP实现会员管理的方法 数据库设计 创建会员表(members)包含字段:id(主键)、username、password(建议加密存储)、email、register_time、last_logi…

域名转短域名PHP实现

域名转短域名PHP实现

短域名服务的基本原理 短域名服务通过将长URL映射到更短的唯一字符串实现跳转。核心步骤包括生成短码、存储原始URL与短码的对应关系、通过短码重定向到原始URL。 生成短码的常见方法 Base62编码…

PHP实现流程

PHP实现流程

PHP实现流程的基本步骤 环境准备 安装PHP运行环境,如XAMPP、WAMP或直接安装PHP和Web服务器(如Apache/Nginx)。确保环境变量配置正确,可通过命令行输入php -v验证安装。…

PHP实现elm

PHP实现elm

PHP实现ELM(极限学习机) ELM(Extreme Learning Machine)是一种单隐层前馈神经网络算法,具有训练速度快、泛化性能好的特点。以下是PHP实现ELM的关键步骤和代码示例。…

PHP实现excel

PHP实现excel

PHP 实现 Excel 操作 读取 Excel 文件 使用 PHP 读取 Excel 文件可以通过 PhpSpreadsheet 库实现。安装该库可以通过 Composer: composer r…

mvc实现 PHP

mvc实现 PHP

MVC 模式概述 MVC(Model-View-Controller)是一种设计模式,用于将应用程序的逻辑分离为三个核心组件:模型(Model)处理数据,视图(View)负责展示,控制器(Contro…