如何使用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 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

(0)
上一篇 2025年3月31日 04:43:58
下一篇 2025年3月31日 04:44:07

AD推荐 黄金广告位招租... 更多推荐

相关推荐

发表回复

登录后才能评论