PHP使用PHPExcel刪除Excel單元格指定列的方法
來源:易賢網(wǎng) 閱讀:1170 次 日期:2016-08-15 15:08:10
溫馨提示:易賢網(wǎng)小編為您整理了“PHP使用PHPExcel刪除Excel單元格指定列的方法”,方便廣大網(wǎng)友查閱!

本文實例講述了PHP使用PHPExcel刪除Excel單元格指定列的方法。分享給大家供大家參考,具體如下:

需求是這樣的:

有一個系統(tǒng)僅公司內(nèi)部和外部經(jīng)銷商使用,在一個導出功能中公司內(nèi)部員工跟外部經(jīng)銷商導出的列是不一樣的(某些數(shù)據(jù)是不能提供給經(jīng)銷商的)

因為導出的數(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)限導出的列

      //移出后column不能加1,因為當前列已經(jīng)移出加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程序設(shè)計有所幫助。

更多信息請查看網(wǎng)絡編程
易賢網(wǎng)手機網(wǎng)站地址:PHP使用PHPExcel刪除Excel單元格指定列的方法
關(guān)于我們 | 聯(lián)系我們 | 人才招聘 | 網(wǎng)站聲明 | 網(wǎng)站幫助 | 非正式的簡要咨詢 | 簡要咨詢須知 | 加入群交流 | 手機站點 | 投訴建議
工業(yè)和信息化部備案號:滇ICP備2023014141號-1 云南省教育廳備案號:云教ICP備0901021 滇公網(wǎng)安備53010202001879號 人力資源服務許可證:(云)人服證字(2023)第0102001523號
聯(lián)系電話:0871-65317125(9:00—18:00) 獲取招聘考試信息及咨詢關(guān)注公眾號:hfpxwx
咨詢QQ:526150442(9:00—18:00)版權(quán)所有:易賢網(wǎng)