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 相关文章推荐
很实用的一个完整email发送程序
Oct 09 PHP
PHP与MongoDB简介|安全|M+PHP应用实例详解
Jun 17 PHP
ThinkPHP实现一键清除缓存方法
Jun 26 PHP
php实现压缩多个CSS与JS文件的方法
Nov 11 PHP
Linux下从零开始安装配置Nginx服务器+PHP开发环境
Dec 21 PHP
PHP的Json中文处理解决方案
Sep 29 PHP
PHP模拟http请求的方法详解
Nov 09 PHP
PHP实现动态创建XML文档的方法
Mar 30 PHP
phpMyAdmin通过密码漏洞留后门文件
Nov 20 PHP
PHP的mysqli_sqlstate()函数讲解
Jan 23 PHP
PHP利用递归函数实现无限级分类的方法
Mar 22 PHP
PHP数组访问常用方法解析
Sep 05 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中使用Oracle数据库(3)
2006/10/09 PHP
收集的php编写大型网站问题集
2007/03/06 PHP
PHP多个文件上传到服务器实例
2014/10/29 PHP
php利用smtp类实现电子邮件发送
2015/10/30 PHP
PHP magento后台无法登录问题解决方法
2016/11/24 PHP
laravel Validator ajax返回错误信息的方法
2019/09/29 PHP
jQuery学习3:操作元素属性和特性
2010/02/07 Javascript
图片延迟加载的实现代码(模仿懒惰)
2013/03/29 Javascript
纯JS实现根据CSS的class选择DOM
2014/03/22 Javascript
jQuery仿Flash上下翻动的中英文导航菜单实例
2015/03/10 Javascript
js为什么不能正确处理小数运算?
2015/12/29 Javascript
JavaScript小技巧整理篇(非常全)
2016/01/26 Javascript
jQuery实现鼠标经过像翻页和描点链接效果
2016/08/08 Javascript
JS中绑定事件顺序(事件冒泡与事件捕获区别)
2017/01/24 Javascript
Vue实现动态响应数据变化
2017/04/28 Javascript
vue-router配合ElementUI实现导航的实例
2018/02/11 Javascript
vue 表单验证按钮事件交由父组件触发的方法
2018/12/17 Javascript
微信小程序npm引入vant-weapp的踩坑记录
2019/08/01 Javascript
[01:05:36]VP vs TNC Supermajor小组赛B组 BO3 第二场 6.2
2018/06/03 DOTA
Python对象体系深入分析
2014/10/28 Python
python实现给数组按片赋值的方法
2015/07/28 Python
Python脚本暴力破解栅栏密码
2015/10/19 Python
Python实现将xml导入至excel
2015/11/20 Python
Python用Bottle轻量级框架进行Web开发
2016/06/08 Python
python解决方案:WindowsError: [Error 2]
2016/08/28 Python
python判断完全平方数的方法
2018/11/13 Python
python tkinter基本属性详解
2019/09/16 Python
Html5获取高德地图定位天气的方法
2019/12/26 HTML / CSS
美国护肤咨询及美容产品电商:Askderm
2017/02/24 全球购物
Currentbody德国站:健康与美容技术专家
2020/04/05 全球购物
中学实习教师自我鉴定
2013/12/12 职场文书
连锁酒店店长职责范本
2014/02/13 职场文书
母婴店促销方案
2014/03/05 职场文书
卫生系统先进事迹
2014/05/13 职场文书
刑事辩护授权委托书
2014/09/13 职场文书
2015年销售助理工作总结
2015/05/11 职场文书