日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > php >内容正文

php

phpexcel导出大量数据合并单元格_PHPExcel处理一个单元格内多条数据拆分成多个单元格多条数据...

發布時間:2023/12/14 php 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 phpexcel导出大量数据合并单元格_PHPExcel处理一个单元格内多条数据拆分成多个单元格多条数据... 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

日期: 2020年6月17日

分類: PHP

Tags: Excel

閱讀量: 1,221

一、描述需求

如圖,當我們遇到一條數據中,某一項內容有多條數據,為了方便文檔查閱,我們需要在那一項數據進行拆分單元格。那么我的做法是,進行重組數組,將一條數據根據圖中紅框拆分成兩條數據;并將除去【商品信息】其他項進行合并單元格即可。最終效果如下圖:

二、上代碼邏輯

上圖為原數組,首先需要將這兩個數組根據 $data[6]?重組為五個數組。

$newlist = [];

foreach ($list as $k => $v) {

if (is_array($v[6])) {

$temp = $v;

$tempSix = $v[6];

$temp[6] = '';

foreach ($tempSix as $kk => $vv) {

$temp[6] = $vv;

$newlist[] = $temp;

}

}

}

效果及思路如圖所示:

至此只完成了1/2,會導出五條數據,而實質上我們是要兩條數據,只是【商品信息】這一項有多個單元格。

接下來我們進行完結。

首先我們需要知道 PHPExcel?合并單元格需要兩個參數,起始和結束的單元格坐標,那么我們接下來重點就在處理這一塊。思維精華如下代碼,更多靠意會。。。

//獲取$data[6]數量

foreach ($oldList as $k => $v) {

$countArr[] = count($v[6]);

}

if ($countArr) {

$numArr = [];

$start = 4;//文檔前三行是標題 所以start為4

foreach ($countArr as $k => $v) {

$end = ($start + $v) - 1;

$numArr[] = [

'start' => $start,//起始數

'end' => $end,//結束數

];

$start = $end + 1;

}

}

$overcellkey = [];

foreach ($cellkey as $k => $v) {

unset($cellkey[6]);//刪除不需要合并單元格的字母

}

//遍歷字母

foreach ($cellkey as $k => $v) {

foreach ($numArr as $kk => $vv) {

//拼接坐標

$overcellkey[] = [

'start' => $v . $vv['start'],//合并開始坐標

'end' => $v . $vv['end'],//合并結束坐標

];

}

}

if ($overcellkey) {

foreach ($overcellkey as $k=>$v){

//進行上下單元格合并。

$sheet->mergeCells($v['start'] . ':' . $v['end']);

}

}

收工效果:

Finally,謝謝大家的閱讀!祝每天開心~

版權聲明:本文為博主原創文章,未經博主允許不得轉載。

贊賞

微信贊賞支付寶贊賞

總結

以上是生活随笔為你收集整理的phpexcel导出大量数据合并单元格_PHPExcel处理一个单元格内多条数据拆分成多个单元格多条数据...的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。