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 相关文章推荐
smarty+adodb+部分自定义类的php开发模式
Dec 31 PHP
php 广告调用类代码(支持Flash调用)
Aug 11 PHP
php数组函数序列之array_slice() - 在数组中根据条件取出一段值,并返回
Nov 07 PHP
PHP 多维数组的排序问题 根据二维数组中某个项排序
Nov 09 PHP
PHP中设置时区方法小结
Jun 03 PHP
PHP变量内存分配问题记录整理
Nov 27 PHP
php自定义的格式化时间示例代码
Dec 05 PHP
PHP6 中可能会出现的新特性预览
Apr 04 PHP
PHP管理依赖(dependency)关系工具 Composer 安装与使用
Aug 18 PHP
Zend Framework处理Json数据方法详解
Dec 09 PHP
PHP7扩展开发之基于函数方式使用lib库的方法详解
Jan 15 PHP
PHP生成随机密码4种方法及性能对比
Dec 11 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
优化使用mysql存储session的php代码
2008/01/10 PHP
PHP自定义大小验证码的方法详解
2013/06/07 PHP
php ios推送(代码)
2013/07/01 PHP
php绘图中显示不出图片的原因及解决
2014/03/05 PHP
如何使用jQuery+PHP+MySQL来实现一个在线测试项目
2015/04/26 PHP
php版微信返回用户text输入的方法
2016/11/14 PHP
Yii框架 session 数据库存储操作方法示例
2019/11/18 PHP
google jQuery 引用文件,jQuery 引用地址集合(jquery 1.2.6至jquery1.5.2)
2011/04/24 Javascript
javascript中将Object转换为String函数代码 (json str)
2012/04/29 Javascript
jQuery循环滚动展示代码 可应用到文字和图片上
2012/05/11 Javascript
11个用于提高排版水平的基于jquery的文字效果插件
2012/09/14 Javascript
js 对小数加法精度处理示例说明
2013/12/27 Javascript
javascript得到当前页的来路即前一页地址的方法
2014/02/18 Javascript
Jquery实现简单的轮播效果(代码管用)
2016/03/14 Javascript
form表单转Json提交的方法(推荐)
2016/09/23 Javascript
原生js实现下拉框功能(支持键盘事件)
2017/01/13 Javascript
快速掌握jquery分页插件jqPaginator的使用方法
2017/08/09 jQuery
bootstrap fileinput实现文件上传功能
2017/08/23 Javascript
python使用mysql的两种使用方式
2018/03/07 Python
详解python中Numpy的属性与创建矩阵
2018/09/10 Python
python在html中插入简单的代码并加上时间戳的方法
2018/10/16 Python
详解Python网络框架Django和Scrapy安装指南
2019/04/01 Python
实例详解Python模块decimal
2019/06/26 Python
在python中用url_for构造URL的方法
2019/07/25 Python
Python字符串中删除特定字符的方法
2020/01/15 Python
Python web如何在IIS发布应用过程解析
2020/05/27 Python
call在Python中改进数列的实例讲解
2020/12/09 Python
CSS3媒体查询Media Queries基础学习教程
2016/02/29 HTML / CSS
Marriott国际:万豪国际酒店查询预订
2017/09/25 全球购物
软件测试常见笔试题
2012/02/04 面试题
销售工作人员的自我评价分享
2013/11/10 职场文书
应届生幼儿园求职信
2013/11/12 职场文书
数控机床专业自荐信
2014/05/19 职场文书
招商银行收入证明
2015/06/17 职场文书
mybatis3中@SelectProvider传递参数方式
2021/08/04 Java/Android
golang操作redis的客户端包有多个比如redigo、go-redis
2022/04/14 Golang