您好,登錄后才能下訂單哦!
本篇內容介紹了“PHP怎么刪除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怎么刪除Excel單元格指定列”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。