PHP使用PHPExcel删除Excel单元格指定列的方法
本文实例讲述了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程序设计有所帮助。
相关文章
phpexcel导入xlsx文件报错xlsx is not recognised as an OLE file 怎么办
phpexcel是一款php读写excel的插件了,小编有一个这样的功能要来实现,但是在导入xlsx时发现xlsx is not recognised as an OLE file 了,但是导入xls是没有问题了,碰到这种...2016-11-25- PHPExcel是php的一个插件,它可以实现读取excel文件也就是xls文件了,下面我们就来看一个PHPExcel操作excel(xls)文件例子,希望能帮助到各位。 读取中文的xls、csv文件...2016-11-25
- 这篇文章主要介绍了golang与PHP输出excel的方法,结合实例形式对比分析了Go语言及php输出Excel文件的相关技巧,需要的朋友可以参考下...2016-07-29
- 本篇文章主要介绍了php获取excel文件数据的方法。具有很好的参考价值。下面跟着小编一起来看下吧...2017-04-26
基于phpexcel的php导出excel类,附注释和调用方法
以前我们写过一个 HP通过链式操作将数据输出excel(csv)格式,最近项目又要导出excel,由于项目中要导出excel的地方太多,因此写个类便于管理使用。 以前我们写过一个PHP...2016-11-25- 文章介绍了关于phpexcel读写xls文件的方法代码,有需要了解的同学可以参考一下本教程哦。 代码如下 复制代码 <?php include_once('PHPExcel...2016-11-25
- 我们经常会使用phpExcel导入或导入xls文件,但是如果一次导出数据比较大就会出现内存溢出错误,下面我来总结解决办法。 phpExcel将读取的单元格信息保存在内存中,...2016-11-25
- 代码如下 复制代码 $objPHPExcel->setActiveSheetIndex(0) ->setCellValue('A1', iconv('gbk', 'utf-8', '中文Hello')) ->setCellValue('B...2016-11-25
PHPExcel导出2003和2007的excel文档功能的实例代码
小编介绍的这篇文章写了PHPExcel导出2003和2007的excel文档功能的实例代码,有需要的同学可以参考一下 本文实例讲述了PHPExcel导出2003和2007的excel文档功能。分...2017-01-22- 这篇文章主要为大家介绍了PHP导出Excel的实例,...2016-01-25
- 在php中导出excel有一种最简单的方法就是导出csv文件,但要做到真正的导出excel文件我们可以借助于PHPExcel插件来实现。 PHPExcel是个很强大的PHP操作Excel的类库,...2016-11-25
- //ini_set("display_errors",1);//是否显示报错信息 //ini_set('include_path', ini_get('include_path').';D:\www.111cn.net\htdocs\lianxi\1.7.2\Classes');//设置...2016-11-25
- 这篇文章主要介绍了PHPExcel合并与拆分单元格的方法,涉及PHPExcel中setCellValue与mergeCells方法的使用技巧,需要的朋友可以参考下...2016-07-25
php的phpExcel类生成excel时列超过26大于Z时如何解决
本文我们来分享用php的phpExcel类生成的excel当列名超过26列大于Z时的解决方法,供大家参考学习。 我们生成excel都会使用phpExcel类,这里就来给大家介绍在生成exce...2016-11-25php怎么读取excel?php中使用PHPExcel读写excel(xls)文件的方法
很多PHP类库在读取中文的xls、csv文件时会有问题,网上找了下资料,发现PHPExcel类库好用。现将PHPExcel读写Excel的方法分别叙述,详细请见本文。 本文实例讲述了PHP中...2017-07-06- PHPExcel专门用来处理excel表格的了,我们只需要进行一个简单的操作就可以实现,下面来看一段代码了,希望对各位能够有用。 去官网下载PHPExcel,你选择,这个插件非常的强...2016-11-25
- 本文实例讲述了PHP使用PHPexcel导入导出数据的方法。分享给大家供大家参考,具体如下:导入数据:<?phperror_reporting(E_ALL); //开启错误set_time_limit(0); //脚本不超时date_default_timezone_set('Europe/London'...2015-11-24
- PHPExcel是一个非常方便生成Excel格式文件的类,官方下载包中带有大量如何生成各种样式excel文件的示例,但没有一个读取Excel文件的完整例子.Xiaoqiang根据网上的资料,...2016-11-25
- PHPExcel 是用来操作Office Excel 文档的一个PHP类库,它基于微软的OpenXML标准和PHP语言。可以使用它来读取、写入不同格式的电子表格 导出类 PHPExcel类导出excel...2016-11-25
- 这篇文章主要介绍了javascript合并表格单元格实例代码,在某些应用中需要动态的合并单元格,感兴趣的朋友可以参考一下...2016-01-07