使用phpexcel在excel文件中插入新的數據

使用phpexcel在excel文件中插入新的數據php

摘要:在開發中,咱們常常須要讀寫excel表格。今天開發了一下讀excel表格,而後使用 insertNewRowBefore 方法插入新行,生成新的表格。緩存

代碼以下,親測好用:app

/**
     * 在已有excel表中插入數據例子
     */

    public function readyExcel($filename){
        vendor("PHPExcel.PHPExcel");
        $inputFileName = $filename;//excel文件路徑
        date_default_timezone_set('PRC');
        // 讀取excel文件
        try {
            $inputFileType = \PHPExcel_IOFactory::identify($inputFileName);
            $objReader = \PHPExcel_IOFactory::createReader($inputFileType);
            $objPHPExcel = $objReader->load($inputFileName);
        } catch(\Exception $e) {
            die('加載文件發生錯誤:"'.pathinfo($inputFileName,PATHINFO_BASENAME).'": '.$e->getMessage());
        }
        $array = [
            ['A','B','C','D','E','F'],
            ['A1','B1','C1','D1','E1','F1'],
            ['A2','B2','C2','D2','E2','F2']
        ];
        $baseRow=17;      //指定插入到第17行後
        foreach($array as $index=>$dataRow){
            $row= $baseRow +$index;    //$row是循環操做行的行號
            $objPHPExcel->getActiveSheet()->insertNewRowBefore($row,1);  //在操做行的號前加一空行,這空行的行號就變成了當前的行號
            //對應的列都附上數據和編號
            $objPHPExcel->getActiveSheet()->setCellValue( 'A'.$row,$dataRow[0]);
            $objPHPExcel->getActiveSheet()->setCellValue( 'B'.$row,$dataRow[1]);
            $objPHPExcel->getActiveSheet()->setCellValue( 'C'.$row,$dataRow[2]);
            $objPHPExcel->getActiveSheet()->setCellValue( 'D'.$row,$dataRow[3]);
            $objPHPExcel->getActiveSheet()->setCellValue( 'E'.$row, $dataRow[4]);
            $objPHPExcel->getActiveSheet()->setCellValue( 'F'.$row, $dataRow[5]);
        }
        ob_end_clean();//清除緩存區,解決亂碼問題
        header('Content-Type: application/vnd.ms-excel');
        header('Content-Disposition: attachment;filename="Bill.xls"');
        header('Cache-Control: max-age=0');
        $objWriter = \PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');
        $objWriter->save('php://output');
        exit;
    }

複製連接加入羣聊【開發交流】:https://jq.qq.com/?_wv=1027&k=5rHG16Gide

相關文章
相關標籤/搜索