在Phpspreadsheet中如何将数组数据导出为Excel文件并实现行合并?

在phpspreadsheet中如何将数组数据导出为excel文件并实现行合并?

利用PhpSpreadsheet导出Excel文件并实现行合并

本文演示如何使用PhpSpreadsheet库将数组数据导出为Excel文件,并实现指定行的合并。假设我们有一个包含客户和产品信息的数组,需要将其格式化并输出到Excel文件中。

数组结构如下:

$data = [    "customer" => "西卡若卡",    "product" => [        [            "name" => "瓶-500ml塑料瓶",            "parts" => "24牙35克",            "rongliang" => "500ml"        ],        [            "name" => "内塞-500ml塑料瓶",            "parts" => "19小孔内塞+盖板",        ],        [            "name" => "盖子-500ml塑料瓶",            "parts" => "24牙双层pp盖",        ],    ]];

登录后复制

目标Excel文件格式如下:

| 客户   | 产品名称            | 零件            | 容量  || ------- | ------------------- | --------------- | ----- || 西卡若卡 | 瓶-500ml塑料瓶     | 24牙35克       | 500ml ||         | 内塞-500ml塑料瓶   | 19小孔内塞+盖板 |       ||         | 盖子-500ml塑料瓶   | 24牙双层pp盖   |       |

登录后复制

实现步骤:

立即学习“PHP免费学习笔记(深入)”;

加载PhpSpreadsheet库并初始化工作表:

require 'vendor/autoload.php'; //  假设你已通过composer安装了phpspreadsheetuse PhpOffice\PhpSpreadsheet\Spreadsheet;use PhpOffice\PhpSpreadsheet\Writer\Xlsx;$spreadsheet = new Spreadsheet();$sheet = $spreadsheet->getActiveSheet();

登录后复制写入表头:

$sheet->setCellValue('A1', '客户');$sheet->setCellValue('B1', '产品名称');$sheet->setCellValue('C1', '零件');$sheet->setCellValue('D1', '容量');

登录后复制写入数据并合并单元格:

$row = 2;$sheet->setCellValue("A{$row}", $data['customer']);foreach ($data['product'] as $product) {    $sheet->setCellValue("B{$row}", $product['name']);    $sheet->setCellValue("C{$row}", $product['parts']);    $sheet->setCellValue("D{$row}", $product['rongliang'] ?? ''); // 使用空字符串处理缺失的容量    $row++;}// 合并'客户'列的单元格$sheet->mergeCells("A2:A{$row-1}");

登录后复制保存Excel文件:

$writer = new Xlsx($spreadsheet);$writer->save('output.xlsx');

登录后复制

这段代码首先初始化PhpSpreadsheet对象和工作表,然后写入表头数据。接着,它迭代处理产品数据,将数据写入相应的单元格。最后,它使用mergeCells()方法合并’客户’列从第二行到最后一行的数据单元格,从而达到预期的效果。 确保你的项目中已正确安装并包含PhpSpreadsheet库。 如有任何错误,请检查你的PhpSpreadsheet安装和包含路径。

通过以上步骤,即可成功使用PhpSpreadsheet库生成包含合并单元格的Excel文件。 记得参考PhpSpreadsheet官方文档获取更详细的信息和更多高级功能。

以上就是在Phpspreadsheet中如何将数组数据导出为Excel文件并实现行合并?的详细内容,更多请关注【创想鸟】其它相关文章!

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

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/3167628.html

(0)
上一篇 2025年3月31日 04:20:23
下一篇 2025年2月28日 16:11:09

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

相关推荐

发表回复

登录后才能评论