当前位置:首页 > 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
分享给朋友:

相关文章

使用vue实现excel下载

使用vue实现excel下载

使用 Vue 实现 Excel 下载 在 Vue 中实现 Excel 下载功能,通常需要借助第三方库如 xlsx 或 file-saver。以下是两种常见方法: 方法一:使用 xlsx 和 file…

PHP审核流程实现

PHP审核流程实现

PHP审核流程实现方法 审核流程的实现通常涉及状态管理、权限控制和操作记录。以下是几种常见的实现方式: 状态机模式 定义审核状态常量,使用状态机控制流程流转: const STATUS_PENDI…

域名转短域名PHP实现

域名转短域名PHP实现

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

PHP实现excel

PHP实现excel

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

PHP实现医院

PHP实现医院

PHP实现医院管理系统 医院管理系统通常包含患者管理、医生排班、药品库存、预约挂号等功能。以下是使用PHP实现医院管理系统的关键步骤和代码示例。 数据库设计 创建数据库表结构是系统的基础。主要表包括…

PHP实现推广

PHP实现推广

PHP实现推广功能的方法 推广链接生成 通过PHP生成带有用户标识的推广链接,通常使用GET参数传递推广者信息。例如: $promoCode = 'user123'; $promoUrl = 'ht…