您好,登錄后才能下訂單哦!
本篇內(nèi)容介紹了“PHP怎么刪除Excel單元格指定列”的有關(guān)知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!
本文實例講述了PHP使用PHPExcel刪除Excel單元格指定列的方法。分享給大家供大家參考,具體如下:
需求是這樣的:
有一個系統(tǒng)僅公司內(nèi)部和外部經(jīng)銷商使用,在一個導(dǎo)出功能中公司內(nèi)部員工跟外部經(jīng)銷商導(dǎo)出的列是不一樣的(某些數(shù)據(jù)是不能提供給經(jīng)銷商的)
因為導(dǎo)出的數(shù)據(jù)都是一樣的(某些列外數(shù)據(jù)外部沒有)因此并沒有單獨處理,而是統(tǒng)一生成然后根據(jù)不同的賬戶再刪除沒有權(quán)限的列
/** * @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 = ''; //單元格總列數(shù) $highestColumm = $objPHPExcel->getActiveSheet()->getHighestColumn(); for ($column = 'A'; $column <= $highestColumm;) { //列數(shù)是以A列開始 $cell_val = $objPHPExcel->getActiveSheet()->getCell($column."1"); $cell_val = preg_replace("/[\s{}]/i","", $cell_val); //移出沒有權(quán)限導(dǎo)出的列 //移出后column不能加1,因為當(dāng)前列已經(jīng)移出加1后會導(dǎo)致刪除錯誤的列 //此問題浪費(fèi)了幾十分鐘 if(strlen($cell_val)>0 && in_array($cell_val,$remove_columns)) { $objPHPExcel->getActiveSheet()->removeColumn( $column); } else { $column++; } } } //example //導(dǎo)入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"));
運(yùn)行效果如下圖所示:
“PHP怎么刪除Excel單元格指定列”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識可以關(guān)注億速云網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實用文章!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。