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 相关文章推荐
PHP生成静态页面详解
Nov 19 PHP
php学习之运算符相关概念
Jun 09 PHP
windows下zendframework项目环境搭建(通过命令行配置)
Dec 06 PHP
php目录操作实例代码
Feb 21 PHP
PHP人民币金额转大写实例代码
Oct 02 PHP
CodeIgniter连贯操作的底层原理分析
May 17 PHP
PHPStorm+XDebug进行调试图文教程
Jun 13 PHP
PHP魔术方法之__call与__callStatic使用方法
Jul 23 PHP
使用PHP json_decode可能遇到的坑与解决方法
Aug 03 PHP
PHP实现的数组和XML文件相互转换功能示例
Mar 15 PHP
浅谈PHPANALYSIS提取关键字
Mar 08 PHP
ThinkPhP+Apache+PHPstorm整合框架流程图解
Nov 23 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来检测proxy
2006/10/09 PHP
判断、添加和删除WordPress置顶文章的相关PHP函数小结
2015/12/10 PHP
JS+DIV实现鼠标划过切换层效果的实例代码
2013/11/26 Javascript
浅谈Javascript中的Function与Object
2015/01/26 Javascript
JS实现动态表格的添加,修改,删除功能(推荐)
2016/06/15 Javascript
js实现获取两个日期之间所有日期的方法
2016/06/17 Javascript
js简单实现调整网页字体大小的方法
2016/07/23 Javascript
JS如何设置cookie有效期为当天24点并弹出欢迎登陆界面
2016/08/04 Javascript
jQuery学习笔记之入门
2016/12/14 Javascript
js中apply与call简单用法详解
2017/11/06 Javascript
10行原生JS实现文字无缝滚动(超简单)
2018/01/02 Javascript
Vue实现PopupWindow组件详解
2018/04/28 Javascript
10行代码实现微信小程序滑动tab切换
2018/12/28 Javascript
vue 解决computed修改data数据的问题
2019/11/06 Javascript
[04:10]DOTA2英雄梦之声_第11期_圣堂刺客
2014/06/21 DOTA
python将字符串转换成数组的方法
2015/04/29 Python
用Python的Flask框架结合MySQL写一个内存监控程序
2015/11/07 Python
CentOS 6.5下安装Python 3.5.2(与Python2并存)
2017/06/05 Python
详解Python判定IP地址合法性的三种方法
2018/03/06 Python
PyQt5每天必学之拖放事件
2020/08/27 Python
Django生成PDF文档显示在网页上以及解决PDF中文显示乱码的问题
2019/07/04 Python
Python爬取豆瓣视频信息代码实例
2019/11/16 Python
Python接口测试结果集实现封装比较
2020/05/01 Python
使用python实现下载我们想听的歌曲,速度超快
2020/07/09 Python
python切片作为占位符使用实例讲解
2021/02/17 Python
亚历山大·王官网:Alexander Wang
2017/06/23 全球购物
C语言笔试题回忆
2015/04/02 面试题
机械设计专业大学生职业生涯规划书范文
2014/09/13 职场文书
先进工作者推荐材料
2014/12/23 职场文书
承诺函范文
2015/01/21 职场文书
幼儿园工作总结2015
2015/04/01 职场文书
酒店客房服务员岗位职责
2015/04/09 职场文书
房贷工资证明范本
2015/06/12 职场文书
庆七一主持词
2015/06/29 职场文书
springmvc直接不经过controller访问WEB-INF中的页面问题
2022/02/24 Java/Android
Python OpenCV超详细讲解读取图像视频和网络摄像头
2022/04/02 Python