使用phpspreadsheet导出并合并excel表格行数据
本文介绍如何利用PhpSpreadsheet库将数组数据导出为Excel表格,并实现行合并效果。假设您有一个如下所示的数组:
[ "customer" => "西卡若卡", "product" => [ [ "name" => "瓶-500ml塑料瓶", "parts" => "24牙35克", "rongliang" => "500ml" ], [ "name" => "内塞-500ml塑料瓶", "parts" => "19小孔内塞+盖板", ], [ "name" => "盖子-500ml塑料瓶", "parts" => "24牙双层pp盖", ], ]]
目标是将其导出为Excel表格,并合并客户名称所在的行,效果如下图所示:

PhpSpreadsheet 提供了 mergeCells() 方法来合并单元格。以下代码演示了如何使用该方法实现行合并:
立即学习“PHP免费学习笔记(深入)”;
use PhpOfficePhpSpreadsheetSpreadsheet;use PhpOfficePhpSpreadsheetWriterXlsx;$spreadsheet = new Spreadsheet();$sheet = $spreadsheet->getActiveSheet();$data = [ "customer" => "西卡若卡", "product" => [ [ "name" => "瓶-500ML塑料瓶", "parts" => "24牙35克", "rongliang" => "500ML" ], [ "name" => "内塞-500ML塑料瓶", "parts" => "19小孔内塞+盖板", ], [ "name" => "盖子-500ML塑料瓶", "parts" => "24牙双层PP盖", ], ]];$sheet->setCellValue('A1', '客户');$sheet->setCellValue('B1', '产品名称');$sheet->setCellValue('C1', '部件');$sheet->setCellValue('D1', '容量');$row = 2;foreach ($data['product'] as $product) { $sheet->setCellValue('A' . $row, $data['customer']); $sheet->setCellValue('B' . $row, $product['name']); $sheet->setCellValue('C' . $row, $product['parts']); if (isset($product['rongliang'])) { $sheet->setCellValue('D' . $row, $product['rongliang']); } $row++;}// 合并客户列$sheet->mergeCells('A2:A' . ($row - 1));$writer = new Xlsx($spreadsheet);$writer->save('example.xlsx');
这段代码首先设置表头,然后循环遍历数组数据写入单元格。最后,使用 mergeCells('A2:A' . ($row - 1)) 合并从 A2 到 A(最后一行) 的单元格。 请确保您已正确安装 PhpSpreadsheet 库。 运行此代码将生成一个名为 example.xlsx 的 Excel 文件,其中包含合并后的行数据。 此方法清晰地展示了如何使用 PhpSpreadsheet 实现数组数据导出和单元格合并。
以上就是如何使用PhpSpreadsheet将数组数据导出并合并行生成Excel表格?的详细内容,更多请关注创想鸟其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1256404.html
微信扫一扫
支付宝扫一扫