博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
PHP 使用PHPExcel删除Excel单元格指定列
阅读量:4882 次
发布时间:2019-06-11

本文共 1667 字,大约阅读时间需要 5 分钟。

需求是这样的:
有一个系统仅公司内部和外部经销商使用,在一个导出功能中公司内部员工跟外部经销商导出的列是不一样的(某些数据是不能提供给经销商的)
因为导出的数据都是一样的(某些列外数据外部没有)因此并没有单独处理,而是统一生成然后根据不同的账户再删除没有权限的列
 
 
/**     * @Author:      HTL     * @Email:       Huangyuan413026@163.com     * @DateTime:    2016-04-27 19:11:20     * @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"));

 

 
 
参考:

转载于:https://www.cnblogs.com/huangtailang/p/5462605.html

你可能感兴趣的文章
sgu 103. Traffic Lights
查看>>
poj 3621 Sightseeing Cows
查看>>
hdu 3666 THE MATRIX PROBLEM
查看>>
TopCoder SRM 176 Deranged
查看>>
Javascript中数组与字典(即map)的使用
查看>>
memcached(十三)注意事项
查看>>
ITerms2在mac系统下的安装和配色,并和go2shell关联
查看>>
nginx常见面试题1
查看>>
Sublime Text 报“Pylinter could not automatically determined the path to lint.py
查看>>
自动化测试用例getText()获取某一个元素的值返回null或空
查看>>
大数智能未来
查看>>
virtualenv和virtualenvwrapper 的安装和使用
查看>>
MAC sublime text 无法自动补齐标签
查看>>
NgBook留言本开发全过程(1)
查看>>
LeetCode-指针法
查看>>
Mysql phpStudy升级Mysql版本,流产了怎么办?
查看>>
SQLServer之数据库行锁
查看>>
OFDM仿真
查看>>
写在读研初期
查看>>
开环增益对负反馈放大电路的影响
查看>>