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 相关文章推荐
AJAX for PHP简单表数据查询实例
Jan 02 PHP
php处理json时中文问题的解决方法
Apr 12 PHP
php缓冲 output_buffering和ob_start使用介绍
Jan 30 PHP
php获取网页标题和内容函数(不包含html标签)
Feb 03 PHP
跟我学Laravel之配置Laravel
Oct 15 PHP
Yii框架获取当前controlle和action对应id的方法
Dec 03 PHP
PHP递归调用数组值并用其执行指定函数的方法
Apr 01 PHP
php递归函数三种实现方法及如何实现数字累加
Aug 07 PHP
[原创]ThinkPHP让../Public在模板不解析(直接输出)的方法
Oct 09 PHP
JSON两种结构之对象和数组的理解
Jul 19 PHP
微信公众号模板消息群发php代码示例
Dec 29 PHP
php框架知识点的整理和补充
Mar 01 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
十天学会php之第九天
2006/10/09 PHP
php环境配置 php5 mysql5 apache2 phpmyadmin安装与配置
2006/11/17 PHP
PHP中数字检测is_numeric与ctype_digit的区别介绍
2012/10/04 PHP
PHP转换文件夹下所有文件编码的实现代码
2013/06/06 PHP
CURL状态码列表(详细)
2013/06/27 PHP
php常用数学函数汇总
2014/11/21 PHP
PHP实现指定字段的多维数组排序函数分享
2015/03/09 PHP
PHP从尾到头打印链表实例讲解
2018/09/27 PHP
如何简单地用YUI做JavaScript动画
2007/03/10 Javascript
Javascript中的window.event.keyCode使用介绍
2011/04/26 Javascript
javascript检测对象中是否存在某个属性判断方法小结
2013/05/19 Javascript
jquery对象和DOM对象的区别介绍
2013/08/09 Javascript
javascript实现日期格式转换
2014/12/16 Javascript
jquery实现拖拽调整Div大小
2015/01/30 Javascript
JavaScript中this的9种应用场景及三种复合应用场景
2015/09/12 Javascript
js控制按钮,防止频繁点击响应的实例
2017/02/15 Javascript
bootstrapValidator 重新启用提交按钮的方法
2017/02/20 Javascript
最全正则表达式总结:验证QQ号、手机号、Email、中文、邮编、身份证、IP地址等
2017/08/16 Javascript
js推箱子小游戏步骤代码解析
2018/01/10 Javascript
原生js通过一行代码实现简易轮播图
2019/06/05 Javascript
vue使用showdown并实现代码区域高亮的示例代码
2019/10/17 Javascript
java遇到微信小程序 &quot;支付验证签名失败&quot; 问题解决
2019/12/22 Javascript
JS获取表格视图所选行号的ids过程解析
2020/02/21 Javascript
vue-cli4使用全局less文件中的变量配置操作
2020/10/21 Javascript
jQuery实现购物车全功能
2021/01/11 jQuery
python使用wmi模块获取windows下的系统信息 监控系统
2015/10/27 Python
pycharm 主题theme设置调整仿sublime的方法
2018/05/23 Python
python 将视频 通过视频帧转换成时间实例
2020/04/23 Python
Python reversed反转序列并生成可迭代对象
2020/10/22 Python
大学生收银员求职信分享
2014/01/02 职场文书
七年级历史教学反思
2014/02/05 职场文书
教师师德师风个人整改方案
2014/09/18 职场文书
工程部部长岗位职责
2015/02/12 职场文书
求职推荐信范文
2015/03/27 职场文书
SpringCloud Alibaba 基本开发框架搭建过程
2021/06/13 Java/Android
大脑的记忆过程在做数据压缩,不同图形也有共同的记忆格式
2022/04/29 数码科技