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处理一个单元格内多条数据拆分成多个单元格多条数据...相关推荐
- excel同一个单元格内多行数据拆分成多个单元格多行排列
excel同一个单元格内多行数据拆分成多个单元格多行排列 1.全选表格 2.工具栏选择数据 ->来自表格/区域 3.选择要拆分的列,并点击拆分列 4.上载 1.全选表格 2.工具栏选择数据 -& ...
- html拆分单元格成两列,在excel中怎样把一个单元格拆分成两个单元格
excel表格中如何拆分带括号的单元格比如说我有一个表格单元格内容是 :张三李四(000001) 如何将括号内的选中需要拆分的单元格,Ctrl +F把单元格里面的括号或者书名号换成逗号,然后在数据选项 ...
- 单元格内多个姓名拆分成一列_一个单元格的内容如何拆分成多个单元格
一个单元格的内容拆分成多个单元格的方法:首先打开Excel,并选中需要拆分的那一列"B":然后点击菜单栏中的"数据":接着在找到"数据",并 ...
- 单元格内多个姓名拆分成一列_excel单元格拆分拆分同一单元格中的姓名,原来这么简单啊!...
excel单元格拆分拆分同一单元格中的姓名,原来这么简单啊!,这个问题是我们很多人都很困惑的一个问题,excel单元格拆分是我们非常常用的一个东西,也是我们工作和学习中必不可少的一个数据公式,那么具体 ...
- mysql string agg_【转】SQL Server一个字段串拆分成多行显示或者多行数据合并成一个字符串(STRING_AGG、STRING_SPLIT)...
目录 概述 STRING_AGG(合并):多行数据合并成一个字符串,以逗号隔开. STRING_SPLIT(拆分):一个字符串,拆分成多行. 一.多行数据合并成一个字符串 1.通过 FOR xml p ...
- PHPexcel导出_带合并单元格/边框背景/_有效果图_thinkphp
##供稿单位导出public function gonggao_excel(){$color='0xCC000000';//查询所有供稿单位$order='paixu asc,id desc';$wh ...
- excel里的一个单元格怎样拆分成几个单元格?
你可以先选中那个单元格---数据--分列, 第一步,选择"分裂符号","下一步"--上面的选一种符号,如果是其它就点"其它",在后面填上你 ...
- excel按某个字符将一个单元格拆分成多个单元格
整数据,一个单元格中全按分号分隔数据,网上有SUBSTITUTE()函数将原字符替换成CHAR(10)换行符,然后粘贴成文本再复制到原表格中.本文档按函数拆分,略过复制粘贴过程,仅能处理较少的数据,以 ...
- 单元格内多个姓名拆分成一列_excel将一列数据拆为多个表格-excel:如何将一个单元格拆分成多行或多列?...
如何将一个Excel工作表的数据按一列的关键字拆分成... 工具/材料:Microsoft Office Excel2016版,Excel文档. 1.首先选中Excel文档,双击打开. 2.然后在该界 ...
最新文章
- 波士顿动力机器狗学会「撒尿」!拉风狗还不上街遛一遛?
- 【BZOJ1778】[Usaco2010 Hol]Dotp 驱逐猪猡 期望DP+高斯消元
- 潜藏在人体体内的12种毒素
- python编程(python开发的三种运行模式)
- Unity3D之UGUI基础3:Image图片
- LeetCode刷题——91. 解码方法
- CPU缓存侧信道攻击
- 小爱同学app安卓版_小爱同学app下载-小米小爱同学下载2.9.21安卓版-西西软件下载...
- Failed to resolve:问题的解决方法
- 关于数学计算机手抄报简单的,数学手抄报简单又漂亮图片
- 使用 requireJS 的shim参数 解决插件jequery 插件问题
- STM32之Bit-Banding
- 微信小程序实现手机号登录:报40029, 错误信息:code 无效,微信原始报文:{“errcode“:40029,“errmsg“:“invalid code
- 胜利学院计算机考试时间,胜利学院2019年3月全国计算机等级考试报名时间
- android activity 实际,如何整合Zxing条形码扫描器而不安装实际的zxing应用程序(无法解析符号:.android.CaptureActivity)?...
- 玩起 Centos 篇
- linux看内存插槽,Linux查看内存大小和插槽
- 我的第一篇CSDN博客文章
- javaweb:web.xml配置详解
- 企业级电商平台-前端搭建(有源码)