如何使用PhpSpreadsheet将包含客户和产品信息的数组导出到Excel文件并合并行?

如何使用phpspreadsheet将包含客户和产品信息的数组导出到excel文件并合并行?

利用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 PhpOfficePhpSpreadsheetSpreadsheet;use PhpOfficePhpSpreadsheetWriterXlsx;$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文件并合并行?的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1255618.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2025年12月10日 03:08:57
下一篇 2025年12月10日 03:09:10

相关推荐

发表回复

登录后才能评论
关注微信