PHPExcel 表格 行 合并
PHPExcel 表格 行 合并
1、效果
2、代码
public function export(){$data = $this->getData();$titleName = '标题名-'.date('Y-m-d-H_i_s');header("Content-type:application/vnd.ms-excel;charset=GBK");header("Content-Disposition:filename={$titleName}.xls");//表格拼接$tableHtml = <<<EOF
<table border="1"><thead><tr ><th>模型</th><th>类名</th><th>方法名</th><th>方法参数</th><th>方法返回值</th></tr></thead><tbody>
EOF;foreach ($data as $k => $v){ //模型$rowCount = $this->getChildrenCount($v);$tableHtml .= '<tr>';$tableHtml .= "<td rowspan='{$rowCount}'>{$v['model']}</td>";foreach ($v['childrens'] as $kk => $vv){ //类名$rowCount = $this->getChildrenCount($vv);$tableHtml .= "<td rowspan='{$rowCount}'>{$vv['class']}</td>";foreach ($vv['childrens'] as $kkk => $vvv){ //方法详情$tableHtml .= <<<EOF
<td>{$vvv['function']}</td>
<td>{$vvv['param']}</td>
<td>{$vvv['return']}</td>
</tr>
EOF;}}}$tableHtml .='</tbody></table>';echo $tableHtml; //输出表格内容exit();}/*** 递归计算一个数据下的总行数* @param $data* @param int $count* @return int*/public function getChildrenCount($data, &$count = 0){if(isset($data['childrens'])){$tempData = $data['childrens'];foreach ($tempData as $k1 => $v1){$this->getChildrenCount($v1, $count);}}else{$count++;}return $count;}public function getData(){$data = [['id' => 1,'model' => '模块1','childrens' => [['id' => 2,'class' => '模块1-类1','childrens' => [['id'=>4,'function'=>'模块1-类1-方法1','param' => '参数','return' => '返回值1'],['id'=>4,'function'=>'模块1-类1-方法2','param' => '参数','return' => '返回值1'],['id'=>4,'function'=>'模块1-类1-方法3','param' => '参数','return' => '返回值1'],['id'=>4,'function'=>'模块1-类1-方法4','param' => '参数','return' => '返回值1'],]],['id' => 2,'class' => '模块1-类2','childrens' => [['id'=>4,'function'=>'模块1-类2-方法1','param' => '参数','return' => '返回值1'],['id'=>4,'function'=>'模块1-类2-方法2','param' => '参数','return' => '返回值1']]]]],['id' => 1,'model' => '模块2','childrens' => [['id' => 2,'class' => '模块2-类1','childrens' => [['id'=>4,'function'=>'模块2-类1-方法1','param' => '参数','return' => '返回值1'],['id'=>4,'function'=>'模块2-类1-方法2','param' => '参数','return' => '返回值1'],['id'=>4,'function'=>'模块2-类1-方法3','param' => '参数','return' => '返回值1']]],['id' => 2,'class' => '模块2-类2','childrens' => [['id'=>4,'function'=>'模块2-类2-方法1','param' => '参数','return' => '返回值1'],['id'=>4,'function'=>'模块2-类2-方法2','param' => '参数','return' => '返回值1']]]]],['id' => 1,'model' => '模块3','childrens' => [['id' => 2,'class' => '模块3-类1','childrens' => [['id'=>4,'function'=>'模块2-类1-方法1','param' => '参数','return' => '返回值1']]]]],];return $data;}
PHPExcel 表格 行 合并相关推荐
- html table 表格 行合并 列合并
目录 1.表格边框合并 2.行合并 3.列合并 表格:table 行:tr 列:td 属性: border:边框 width:宽 height:高 bordercolor:变宽颜色 cellspaci ...
- layui表格行合并
先看一下最终合并之后的效果,能对单选.复选框进行按照某一列的合并. 最开始的解决方案来自于这篇博客介绍的方法:https://blog.csdn.net/guishifoxin/article/det ...
- Latex 表格 行合并,列合并,控制行间距 单元格宽度
多行合并的时候,需要加入新的usepackage, 不然会报错 \usepackage{multirow} 1.多行合并 \linespread{1.3} %控制行间距 \begin{table*}[ ...
- element-ui table表格行合并、标红及数据转换
先看下效果 看下后端返回的数据格式,首先分析下数据结构,maxstatis,minstatis,avgstatis,passtatis是上图表格的四行数据,titles是表 ...
- layui根据name获取对象_layui表格行合并;解决侧边固定栏合并
实现效果图: 适配分页:全选: 后台嵌套数据: 获取数据后:渲染前操作: ,done:function(res){if(res.data){for(var i = 0;i<res.data.le ...
- 保姆级教程 | 表格自动行合并实现
在 element-ui 和 antv 中都有表格合并,但如何确定哪几行要合并呢? 在随机给定数据的情况下,如何实现自动合并呢?本文将一一解答这些问题. 并在延伸中,谈到了,如何将本文的方法应用到el ...
- Element UI-动态合并表格行
Element UI-动态合并表格行 动态合并表格行的代码主要由 :span-method="objectSpanMethod"中objectSpanMethod方法来实现跨行或跨 ...
- POI导出word文件中表格合并方法(行合并,列合并)
项目中遇到记录一下 POI导出word文件中表格合并方法(行合并,列合并) . // word表格跨列合并单元格//row 指定行.fromCell 开始列数.toCell 结束列数.public v ...
- 06 - table表格标签+ 行合并+列合并
1.table 表格标签属性 在小程序中查看 cellspacing="0" 表格边框合并: 表格:table 行:tr 列:td 属性: ...
- Element表格之表头合并、行合并和列合并
文章目录 一.合并表头 二.合并表格行 三.合并表格列 最近写vue开发项目的时候,很多地方用到了Element组件中的Table 表格.经过一周的边学边做,我总结了以下三种有关表格的合并方法. 一. ...
最新文章
- python_面向对象进阶之slots
- ctrl+alt+T出来的终端窗口非常小
- 为何要清除浮动?如何清除?
- oracle 11g sga max,oracle 10g 11g中的SGA_MAX_SIZE与SGA_TARGET参数
- ros 发布信息频率_ROS入门笔记二基础
- Improving Opencv9 Eroding and Dilating 和对opencv窗体上有控制按钮的理解
- java代码自动生成
- NOD32中小企业服务器版部署方法
- Linux基础学习总结
- 华为路由器NAT经典配置
- 批改网复制粘贴_如何使用批改网组织线上考试
- linux aria2 离线,使用aria2实现离线下载
- python爬虫01-get请求,post请求,参数拼接,re正则解析,bs解析,xpath解析xml及html文件,requests进阶模拟登录,反盗链zhuanqu,代理
- laravel 先判断在加查询条件,whereBetween,whereIn
- CAD属性编辑操作——回退、重作
- 计算方法 7.数值积分计算方法
- 让SOLIDWORKS子装配体动起来的方法
- 教育邮箱申请jetbrains产品,免费获得AppCode、DataSpell、dotMemory、GoLand、IntelliJ IDEA、PhpStorm、PyCharm专业版
- 什么是MIL、SIL、PIL和HIL?
- 二级页面全屏html,还是二级网页不能全屏怎么办? 爱问知识人
热门文章
- 连接最大数 详解(C++)
- 思科网院Packet Tracer实验(十)
- 计算机图形学_GAMES101-现代计算机图形学课程 全笔记
- python需要学数据结构吗_我也要学python-内置数据结构(一)
- 最新计算机操作员高级试题,计算机操作员高级考试试题
- java 图片旋转裁剪_【Java实例】使用Thumbnailator生成缩略图(缩放、旋转、裁剪、水印)...
- java备份_手把手教你实现Java权限管理系统 后端篇(十三):系统备份还原
- java 接受gsm信息_android 获取手机GSM/CDMA信号信息,并获得基站信息
- c判断数组是否为空_剑指offer编程题 1.二维数组中的查找
- 存用部首查字典如何查_SCI文献阅读技巧:3位博士总结如何看文献,干货满满!...