php导出excel文件
php导出excel文件
- php版本>=7.4 小于8.2
- php
QQ交流群159789818
composer安装
composer require death_satan/death_satan/satan-excel -vvv
导出示例
<?php
declare(strict_types=1);
/**
* This is an extension of Death-Satan
* Name PHP-Excel
*
* @link https://www.cnblogs.com/death-satan
*/
use DeathSatan\SatanExcel\Export\ArrayExport;
use DeathSatan\SatanExcel\Export\Config\ArrayExportConfig;
use PhpOffice\PhpSpreadsheet\Spreadsheet;
require_once dirname(__DIR__) . '/vendor/autoload.php';
$data = [
[
'id' => 0,
'name' => 1,
'pass' => '123456',
],
[
'id' => 1,
'name' => 2,
'pass' => '123456',
],
];
$dataFields = ['id', 'name', 'pass'];
$filedTitles = [
'序号', '名称', '密码',
];
$arrayExportConfig = new ArrayExportConfig();
// 设置要导出的数据
$arrayExportConfig->setData($data);
$arrayExportConfig->setFirstFields($filedTitles);
$arrayExportConfig->addEvent(
ArrayExportConfig::EVENT_SAVING,
function (Spreadsheet $spreadsheet) {
// 保存前回调 在这里对要导出的文件 SpreadSheet进行操作
// dump($spreadsheet);
}
);
$arrayExportConfig->addEvent(
ArrayExportConfig::EVENT_CELL_FORMAT,
function (PhpOffice\PhpSpreadsheet\Cell\Cell $cell, array $raw) use ($dataFields, $filedTitles) {
// 获取当前单元格值
$cellValue = $cell->getValue();
// 获取当前一列所属的下标
$index = array_search($cellValue, $raw);
$dataFieldValue = $dataFields[$index];
$filedValue = $filedTitles[$index];
echo sprintf('当前设置的值:%s,列名:%s,列标题:%s', $cellValue, $dataFieldValue, $filedValue) . "\n";
}
);
$export = new ArrayExport($arrayExportConfig);
# 保存为文件
$file = $export->save();
# 获取保存
$file_path = $file->getRealPath();
// 将文件移动到当前目录下并且重命名为 demo.xlsx
copy($file_path, __DIR__ . DIRECTORY_SEPARATOR . 'demo.xlsx');
世人慌慌张张,不过图碎银几两
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek “源神”启动!「GitHub 热点速览」
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 我与微信审核的“相爱相杀”看个人小程序副业
· C# 集成 DeepSeek 模型实现 AI 私有化(本地部署与 API 调用教程)
· spring官宣接入deepseek,真的太香了~