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

DDD
发布: 2025-03-22 08:56:10
原创
725人浏览过

在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免费学习笔记(深入)”;

  1. 加载PhpSpreadsheet库并初始化工作表:
require 'vendor/autoload.php'; //  假设你已通过composer安装了phpspreadsheet

use PhpOffice\PhpSpreadsheet\Spreadsheet;
use PhpOffice\PhpSpreadsheet\Writer\Xlsx;

$spreadsheet = new Spreadsheet();
$sheet = $spreadsheet->getActiveSheet();
登录后复制
  1. 写入表头:
$sheet->setCellValue('A1', '客户');
$sheet->setCellValue('B1', '产品名称');
$sheet->setCellValue('C1', '零件');
$sheet->setCellValue('D1', '容量');
登录后复制
  1. 写入数据并合并单元格:
$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}");
登录后复制
  1. 保存Excel文件:
$writer = new Xlsx($spreadsheet);
$writer->save('output.xlsx');
登录后复制

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

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

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

最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
相关标签:
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号