PHP使用PHPExcel删除Excel单元格指定列的方法


Posted in PHP onJuly 06, 2016

本文实例讲述了PHP使用PHPExcel删除Excel单元格指定列的方法。分享给大家供大家参考,具体如下:

需求是这样的:

有一个系统仅公司内部和外部经销商使用,在一个导出功能中公司内部员工跟外部经销商导出的列是不一样的(某些数据是不能提供给经销商的)
因为导出的数据都是一样的(某些列外数据外部没有)因此并没有单独处理,而是统一生成然后根据不同的账户再删除没有权限的列

/**
* @Author:   HTL
* @Description: 移出单元列
* @objPHPExcel: phpexecel object
* @remove_columns:要移出的列
*/
function _remove_column($objPHPExcel,$remove_columns){
    if(!$objPHPExcel
      || !is_object ($objPHPExcel)
      || !$remove_columns
      || !is_array($remove_columns)
      || count($remove_columns)<=0) return ;
    //单元格模板值,用于匹配要删除的列(在excel模板第一列)
    $cell_val = '';
    //单元格总列数
    $highestColumm = $objPHPExcel->getActiveSheet()->getHighestColumn();
    for ($column = 'A'; $column <= $highestColumm;) {
      //列数是以A列开始
      $cell_val = $objPHPExcel->getActiveSheet()->getCell($column."1");
      $cell_val = preg_replace("/[\s{}]/i","", $cell_val);
      //移出没有权限导出的列
      //移出后column不能加1,因为当前列已经移出加1后会导致删除错误的列
      //此问题浪费了几十分钟
      if(strlen($cell_val)>0 && in_array($cell_val,$remove_columns))
      {
        $objPHPExcel->getActiveSheet()->removeColumn( $column);
      }
      else
      {
        $column++;
      }
    }
}
//example
//导入PHPExcel类
vendor("PHPExcel.PHPExcel");
$filepath = './data/upload/temp.xlsx';
$objReader = \PHPExcel_IOFactory::createReader('Excel2007');
$objPHPExcel = $objReader->load($filepath);
$this->_remove_column($objPHPExcel,array("age","address"));

运行效果如下图所示:

PHP使用PHPExcel删除Excel单元格指定列的方法

希望本文所述对大家PHP程序设计有所帮助。

PHP 相关文章推荐
用文本文件制作留言板提示(上)
Oct 09 PHP
用PHP实现ODBC数据分页显示一例
Oct 09 PHP
NOD32 v2.70.32 简体中文封装版 提供下载了
Feb 27 PHP
php 转换字符串编码 iconv与mb_convert_encoding的区别说明
Nov 10 PHP
PHP5全版本绕过open_basedir读文件脚本漏洞详细介绍
Jan 20 PHP
php通过curl模拟登陆DZ论坛
May 11 PHP
PHP实现活动人选抽奖功能
Apr 19 PHP
Laravel 5.4.36中session没有保存成功问题的解决
Feb 19 PHP
php合并数组并保留键值的实现方法
Mar 12 PHP
laravel 实现设置时区的简单方法
Oct 10 PHP
Yii使用EasyWechat实现小程序获取用户的openID的方法
Apr 29 PHP
解决PhpStorm64不能启动的问题
Jun 20 PHP
PHP判断JSON对象是否存在的方法(推荐)
Jul 06 #PHP
PHP通过微信跳转的Code参数获取用户的openid(关键代码)
Jul 06 #PHP
Yii2 RESTful中api的使用及开发实例详解
Jul 06 #PHP
PHP单链表的实现代码
Jul 05 #PHP
php 数组字符串搜索array_search技巧
Jul 05 #PHP
php单链表实现代码分享
Jul 04 #PHP
Yii2.0预定义的别名功能小结
Jul 04 #PHP
You might like
学习discuz php 引入文件的方法DISCUZ_ROOT
2009/06/21 PHP
几种有用的变型 PHP中循环语句的用法介绍
2012/01/30 PHP
php实现cc攻击防御和防止快速刷新页面示例
2014/02/13 PHP
phpmailer中文乱码问题的解决方法
2014/04/22 PHP
PHP自定义函数获取URL中一级域名的方法
2016/08/23 PHP
PHP关于foreach复制知识点总结
2019/01/28 PHP
JQuery 学习笔记 选择器之三
2009/07/23 Javascript
Js获取下拉框选定项的值和文本的实现代码
2014/02/26 Javascript
javascript写的一个模拟阅读小说的程序
2014/04/04 Javascript
JavaScript图像延迟加载库Echo.js
2016/04/05 Javascript
jQuery Json数据格式排版高亮插件json-viewer.js使用方法详解
2017/06/12 jQuery
vue 全选与反选的实现方法(无Bug 新手看过来)
2018/02/09 Javascript
如何根据业务封装自己的功能组件
2019/04/19 Javascript
layui type2 通过url给iframe子页面传值的例子
2019/09/06 Javascript
Node 代理访问的实现
2019/09/19 Javascript
微信小程序转发事件实现解析
2019/10/22 Javascript
[01:47]2018年度DOTA2最具人气解说-完美盛典
2018/12/16 DOTA
python数据结构之图的实现方法
2015/07/08 Python
Django中利用filter与simple_tag为前端自定义函数的实现方法
2017/06/15 Python
python中利用队列asyncio.Queue进行通讯详解
2017/09/10 Python
5款Python程序员高频使用开发工具推荐
2019/04/10 Python
selenium处理元素定位点击无效问题
2019/06/12 Python
如何基于Python + requests实现发送HTTP请求
2020/01/13 Python
Django之富文本(获取内容,设置内容方式)
2020/05/21 Python
Pythonic版二分查找实现过程原理解析
2020/08/11 Python
瑞贝卡·明可弗包包官网:Rebecca Minkoff
2016/07/21 全球购物
捷克家居装饰及图书音像购物网站:Velký košík
2018/04/16 全球购物
写好求职应聘自荐信的三部曲
2013/09/21 职场文书
初中毕业生的自我评价
2014/03/03 职场文书
丧事主持词大全
2014/04/02 职场文书
房屋出租协议书
2014/04/10 职场文书
高中生综合素质自我评价
2015/03/06 职场文书
六五普法心得体会2016
2016/01/21 职场文书
python 实现mysql自动增删分区的方法
2021/04/01 Python
Python基于Opencv识别两张相似图片
2021/04/25 Python
继承Win10缺点!教你关闭Win11烦人的网络搜索
2021/11/23 数码科技