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程序中的常见漏洞进行攻击(下)
Oct 09 PHP
PHP 的几个配置文件函数
Dec 21 PHP
PHP中常用数组处理方法实例分析
Aug 30 PHP
PHP 命令行参数详解及应用
May 18 PHP
php中比较简单的导入phpmyadmin生成的sql文件的方法
Jun 28 PHP
Yii2使用小技巧之通过 Composer 添加 FontAwesome 字体资源
Jun 22 PHP
php文件夹的创建与删除方法
Jan 24 PHP
php随机抽奖实例分析
Mar 04 PHP
PHP SESSION的增加、删除、修改、查看操作
Mar 20 PHP
用PHP代码给图片加水印
Jul 01 PHP
PHP实现的蚂蚁爬杆路径算法代码
Dec 03 PHP
PHP实现十进制、二进制、八进制和十六进制转换相关函数用法分析
Apr 25 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读取RSS feed的代码
2008/08/01 PHP
PHP递归算法的详细示例分析
2013/02/19 PHP
php自定义函数实现二维数组按指定key排序的方法
2016/09/29 PHP
详解PHP使用Redis存储session时的一个Warning定位
2017/07/05 PHP
PHP中类与对象功能、用法实例解读
2020/03/27 PHP
jQuery 处理表单元素的代码
2010/02/15 Javascript
javascript学习笔记(九)javascript中的原型(prototype)及原型链的继承方式
2011/04/12 Javascript
jQuery学习笔记(4)--Jquery中获取table中某列值的具体思路
2013/04/10 Javascript
客户端js性能优化小技巧整理
2013/11/05 Javascript
JS小功能(setInterval实现图片效果显示时间)实例代码
2013/11/28 Javascript
NODE.JS加密模块CRYPTO常用方法介绍
2014/06/05 Javascript
快速掌握Node.js中setTimeout和setInterval的使用方法
2016/03/21 Javascript
jQuery 获取跨域XML(RSS)数据的相关总结分析
2016/05/18 Javascript
浅析JavaScript中命名空间namespace模式
2016/06/22 Javascript
AngularJS中的JSONP实例解析
2016/12/01 Javascript
Easyui在treegrid添加控件的实现方法
2017/06/23 Javascript
layui前端框架之table表数据的刷新方法
2018/08/17 Javascript
基于React Native 0.52实现轮播图效果
2020/08/25 Javascript
Vue 中使用 typescript的方法详解
2020/02/17 Javascript
vue中echarts图表大小适应窗口大小且不需要刷新案例
2020/07/19 Javascript
[04:45]上海特级锦标赛主赛事第三日TOP10
2016/03/05 DOTA
搭建python django虚拟环境完整步骤详解
2019/07/08 Python
python基于Selenium的web自动化框架
2019/07/14 Python
Django实现auth模块下的登录注册与注销功能
2019/10/10 Python
python实现根据文件格式分类
2019/10/31 Python
PyQt5连接MySQL及QMYSQL driver not loaded错误解决
2020/04/29 Python
linux centos 7.x 安装 python3.x 替换 python2.x的过程解析
2020/12/14 Python
跑步、骑行和铁人三项的高性能眼镜和服装:ROKA
2018/07/06 全球购物
UNIX文件系统分类
2014/11/11 面试题
写给爸爸的道歉信
2014/01/15 职场文书
镇党委书记群众路线整改措施思想汇报
2014/10/13 职场文书
某某幼儿园的教育教学管理调研分析报告
2019/11/29 职场文书
一篇文章弄懂MySQL查询语句的执行过程
2021/05/07 MySQL
SQL CASE 表达式的具体使用
2022/03/21 SQL Server
「睡美人」爱洛公主粘土人开订
2022/03/22 日漫
解决springboot druid数据库连接失败后一直重连的方法
2022/04/19 Java/Android