php開發中Excel導入功能的具體實現方法

  對於在做php開發項目中,一般的項目設計到最多用到的是Excel的導出功能,而對於其導入功能一般是很少見的,而且對於php開發中Excel的導入功能也要比導出功能開發起來更困難一些,那麼今天就來分享一下php開發中Excel導入功能的具體實現步驟:

  1、首先將下載下來的PHP Excel插件代碼放入項目/Thinkphp/Extend/Vendor/下;

  2、在模板添加導入功能;

  html代碼實現如下:

<form action="{:U('Turntable/imports')}" enctype="multipart/form-data" method="post">
<input type="file" name="photo" />
<input type="submit" value="導入數據">
</form>

3、控制器調用插件;

php代碼如下:

 public function imports(){       
            ini_set('memory_limit','1024M');  
            import('ORG.Net.UploadFile');
            $upload = new UploadFile();
            $upload->maxSize  = 3145728000 ;// 設置附件上傳大小
            $upload->allowExts  = array('xlsx','xls');// 設置附件上傳類型
            $upload->savePath =  './Public/Uploads/xslx/';//
            // $upload = new \Think\Upload($config);
            if (!$upload->upload()) {
                error($upload->getErrorMsg());

            }else{
                 $info =  $upload->getUploadFileInfo();
            }
            vendor("PHPExcel.PHPExcel");
           
            $file_name= $upload->savePath.$info[0]['savename'];
          
            $extension = strtolower(pathinfo($file_name, PATHINFO_EXTENSION));//判斷導入表格後綴格式
            if ($extension == 'xlsx') {
            $objReader =\PHPExcel_IOFactory::createReader('Excel2007');
            $objPHPExcel =$objReader->load($file_name, $encode = 'utf-8');
            } else if ($extension == 'xls'){
            $objReader =\PHPExcel_IOFactory::createReader('Excel5');
            $objPHPExcel =$objReader->load($file_name, $encode = 'utf-8');
            }
            $sheet =$objPHPExcel->getSheet(0);
            $highestRow = $sheet->getHighestRow();//取得總行數
            $highestColumn =$sheet->getHighestColumn(); //取得總列數
            
            for ($i = 2; $i <= $highestRow; $i++) {
           
            $data['code'] =$objPHPExcel->getActiveSheet()->getCell("B" . $i)->getValue();
          
            //看這裏看這裏,這個位置寫數據庫中的表名


            D('codes')->add($data);
            }
            $this->success('導入成功!');
           
    }

  好了,相信看到這裏大家就明白如何去做了,那麼如果還有同學不知道如何去做的話,或者嘗試之後發現有問題的話,都可以留言諮詢,我們可以共同討論學習。

  本文由專業的鄭州app開發公司燚軒科技整理髮布,原創不易,尊重編者,如需轉載請註明出處!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章