PHP使用PHPExcel删除Excel单元格指定列的方法

 更新时间:2016年07月06日 16:11:35   作者:HTL  
这篇文章主要介绍了PHP使用PHPExcel删除Excel单元格指定列的方法,涉及PHPExcel针对Excel单元格的遍历操作及removeColumn方法删除单元格的相关使用技巧,需要的朋友可以参考下

本文实例讲述了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相关内容感兴趣的读者可查看本站专题:《php操作office文档技巧总结(包括word,excel,access,ppt)》、《PHP数组(Array)操作技巧大全》、《php排序算法总结》、《PHP常用遍历算法与技巧总结》、《PHP数据结构与算法教程》、《php程序设计算法总结》、《PHP数学运算技巧总结》、《php正则表达式用法总结》、《PHP运算与运算符用法总结》、《php字符串(string)用法总结》及《php常见数据库操作技巧汇总

希望本文所述对大家PHP程序设计有所帮助。

相关文章

  • Discuz!下Memcache缓存实现方法

    Discuz!下Memcache缓存实现方法

    在PHP+MySQL架构的站点中,本文重点从MySQL的角度去分析如何使Discuz!论坛(或者类似的PHP+MySQL架构的程序)应对大访问量。同时给出一些使用Memcache去减轻MySQL压力的建议
    2010-05-05
  • php中随机显示图片的函数代码

    php中随机显示图片的函数代码

    一个随机显示图片的函数,可以将指定文件夹中存放的图片随机地显示出来,可以在很多地方使用
    2011-06-06
  • input file获得文件根目录简单实现

    input file获得文件根目录简单实现

    js获得file根目录,然后赋值给hidden类型input,然后就可以交给php or jsp 处理了,感兴趣的朋友可以参考下哈,希望可以帮助到你
    2013-04-04
  • 详解cookie验证的php应用的一种SSO解决办法

    详解cookie验证的php应用的一种SSO解决办法

    这篇文章主要介绍了详解cookie验证的php应用的一种SSO解决办法的相关资料,希望通过本文能帮助到大家让大家遇到这种类似问题解决,需要的朋友可以参考下
    2017-10-10
  • PHP设置头信息及取得返回头信息的方法

    PHP设置头信息及取得返回头信息的方法

    这篇文章主要介绍了PHP设置头信息及取得返回头信息的方法,结合实例分析了PHP基于curl针对头信息的操作技巧,需要的朋友可以参考下
    2016-01-01
  • 使用PHP数组实现无限分类,不使用数据库,不使用递归.

    使用PHP数组实现无限分类,不使用数据库,不使用递归.

    使用PHP数组实现无限分类,不使用数据库,不使用递归....
    2006-12-12
  • ajax缓存问题解决途径

    ajax缓存问题解决途径

    ajax缓存问题解决途径...
    2006-12-12
  • PHP单元测试框架PHPUnit用法详解

    PHP单元测试框架PHPUnit用法详解

    这篇文章主要介绍了PHP单元测试框架PHPUnit用法,结合实例形式详细分析了单元测试框架PHPUnit原理、安装、使用相关操作技巧与注意事项,需要的朋友可以参考下
    2019-01-01
  • php实现网页上一页下一页翻页过程详解

    php实现网页上一页下一页翻页过程详解

    这篇文章主要介绍了php实现网页上一页下一页翻页过程详解,大致功能就是页面只显示几条信息,按上一页、下一页切换内容,当显示第一页时上一页和首页选项不可选,当页面加载到最后一页时下一页和尾页选项不可选,需要的朋友可以参考下
    2019-06-06
  • 详解php的socket通信

    详解php的socket通信

    这篇文章通过案例演示详细介绍了php的socket通信,对每一段代码进行了分析,每一步骤都配有详细说明,感兴趣的的朋友可以参考下
    2015-08-08

最新评论