利用PhpSpreadsheet导出Excel数据并合并行
本文介绍如何使用PhpSpreadsheet库将包含客户及产品信息的复杂嵌套数组数据导出到Excel表格,并实现单元格合并。
场景描述
假设我们拥有如下结构的数组数据:
$data = [ "customer" => "西卡若卡", "product" => [ [ "name" => "瓶-500ml塑料瓶", "parts" => "24牙35克", "rongliang" => "500ml" ], [ "name" => "内塞-500ml塑料瓶", "parts" => "19小孔内塞+盖板", ], [ "name" => "盖子-500ml塑料瓶", "parts" => "24牙双层pp盖", ], ]];
登录后复制
目标是将客户名称在Excel第一行合并显示,产品信息在其下逐行展开。
实现方案
以下步骤利用PhpSpreadsheet完成数据导出和单元格合并:
立即学习“PHP免费学习笔记(深入)”;
加载库并创建对象:
use PhpOffice\PhpSpreadsheet\Spreadsheet;use PhpOffice\PhpSpreadsheet\Writer\Xlsx;$spreadsheet = new Spreadsheet();$sheet = $spreadsheet->getActiveSheet();
登录后复制
写入客户信息并合并单元格:
$sheet->setCellValue('A1', '客户: ' . $data['customer']);$sheet->mergeCells('A1:C1'); // 合并A1到C1单元格
登录后复制
写入产品信息:
$row = 2; // 从第二行开始写入foreach ($data['product'] as $product) { $sheet->setCellValue('A' . $row, $product['name']); $sheet->setCellValue('B' . $row, $product['parts']); if (isset($product['rongliang'])) { $sheet->setCellValue('C' . $row, $product['rongliang']); } $row++;}
登录后复制
保存Excel文件:
$writer = new Xlsx($spreadsheet);$writer->save('example.xlsx');
登录后复制
通过以上步骤,即可生成包含合并单元格和嵌套数组数据的Excel文件。此方法具有良好的灵活性和可扩展性,适用于处理各种复杂的数组结构。
以上就是如何使用PhpSpreadsheet将包含客户和产品信息的数组导出到Excel文件并合并行?的详细内容,更多请关注【创想鸟】其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。
发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/3168364.html