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实现的获取URL信息的类
Jan 02 PHP
Ajax PHP 边学边练 之三 数据库
Nov 26 PHP
用mysql_fetch_array()获取当前行数据的方法详解
Jun 05 PHP
php实现mysql数据库操作类分享
Feb 14 PHP
解析PHP强制转换类型及远程管理插件的安全隐患
Jun 30 PHP
php建立Ftp连接的方法
Mar 07 PHP
WordPress后台中实现图片上传功能的实例讲解
Jan 11 PHP
深入解析WordPress中加载模板的get_template_part函数
Jan 11 PHP
Zend Framework教程之Application用法实例详解
Mar 14 PHP
yii2 modal弹窗之ActiveForm ajax表单异步验证
Jun 13 PHP
php微信公众平台开发(一) 配置接口
Dec 06 PHP
thinkPHP5.0框架安装教程
Mar 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
解决phpmyadmin 乱码,支持gb2312和utf-8
2006/11/20 PHP
解析PHP中如何将数组变量写入文件
2013/06/06 PHP
php Calender(日历)代码分享
2014/01/03 PHP
linux系统下php安装mbstring扩展的二种方法
2014/01/20 PHP
PHP封装的HttpClient类用法实例
2015/06/17 PHP
[原创]CI(CodeIgniter)简单统计访问人数实现方法
2016/01/19 PHP
Yii2 rbac权限控制操作步骤实例教程
2016/04/29 PHP
PHP登录验证码的实现与使用方法
2016/07/07 PHP
PHP面向对象程序设计(OOP)之方法重写(override)操作示例
2018/12/21 PHP
Laravel 5.5 异常处理 &amp; 错误日志的解决
2019/10/17 PHP
PHP多进程简单实例小结
2019/11/09 PHP
静态页面下用javascript操作ACCESS数据库(读增改删)的代码
2007/05/14 Javascript
js AspxButton的客户端操作
2009/06/26 Javascript
有趣的JavaScript数组长度问题代码说明
2011/01/20 Javascript
TinyMCE提交AjaxForm获取不到数据的解决方法
2015/03/05 Javascript
使用struts2+Ajax+jquery验证用户名是否已被注册
2016/03/22 Javascript
AngularJS入门之动画
2016/07/27 Javascript
详解Vue-cli代理解决跨域问题
2017/09/27 Javascript
js中时间格式化的几种方法
2018/07/22 Javascript
mpvue+vuex搭建小程序详细教程(完整步骤)
2018/09/30 Javascript
微信小程序获取用户信息的两种方法wx.getUserInfo与open-data实例分析
2019/05/03 Javascript
vue使用video.js进行视频播放功能
2019/07/18 Javascript
Layui选项卡制作历史浏览记录的方法
2019/09/28 Javascript
webpack+vue-cil 中proxyTable配置接口地址代理操作
2020/07/18 Javascript
python实现udp数据报传输的方法
2014/09/26 Python
python 中的list和array的不同之处及转换问题
2018/03/13 Python
python爬虫实现中英翻译词典
2019/06/25 Python
Python代码块及缓存机制原理详解
2019/12/13 Python
Pycharm 2020最新永久激活码(附最新激活码和插件)
2020/09/17 Python
基于python计算滚动方差(标准差)talib和pd.rolling函数差异详解
2020/06/08 Python
医药专业应届毕业生求职信范文
2014/01/01 职场文书
《一件运动衫》教学反思
2014/02/19 职场文书
房产代理公证处委托书
2014/04/04 职场文书
个人借条范本
2015/05/25 职场文书
给学校的建议书400字
2015/09/14 职场文书
校园安全学习心得体会
2016/01/18 职场文书