Thinkpphp 5+PHPExcel 대량 업로드 표 데이터 기능 구현

3065 단어 thinkphp5phpexcel
1.우선 PHPExcel 을 다운로드 하여 vendor 폴 더 에 넣 어야 합 니 다.제 경 로 는 프로젝트/vendor/PHPExcel/입 니 다.다운로드 한 PHPExcel 파일 을 여기에 두 십시오.

2.전단 코드

<!DOCTYPE html>
<html>
<head>
  <title>      </title>
</head>
<body>
<form action="{:url('/index/index/importExcel')}" method="post" enctype="multipart/form-data">
  <input type="file" name="myfile"><br/>
  <input type="submit" value="     ">
</form>
</body>
</html>
3.배경 코드

/**
  *       
  *           ,            
  */
  public function importExcel(){
    header("content-type:text/html;charset=utf-8");
    //  excel  
    $file = request()->file('myfile');
    //  /public/uploads/excel/ 
    $info = $file->move(ROOT_PATH.'public'.DS.'uploads'.DS.'excel');
    //      
    if ($info) {
      //  PHPExcel 
      vendor('PHPExcel.PHPExcel.Reader.Excel5');
      //         
      $fileName = $info->getSaveName();
      //    
      $filePath = 'public/uploads/excel/'.$fileName;
      //   PHPExcel 
      $PHPReader = new \PHPExcel_Reader_Excel5();
      //  excel  
      $objPHPExcel = $PHPReader->load($filePath);
      //  excel          
      $sheet = $objPHPExcel->getSheet(0);
      $allRow = $sheet->getHighestRow();  //     
      //$allColumn = $sheet->getHighestColumn();  //     
      //        ,      
      for ($j=2; $j <= $allRow; $j++) {
        $data['name'] = $objPHPExcel->getActiveSheet()->getCell("A".$j)->getValue();
        $data['tel'] = $objPHPExcel->getActiveSheet()->getCell("B".$j)->getValue();
        $data['addr'] = $objPHPExcel->getActiveSheet()->getCell("C".$j)->getValue();
        $last_id = Db::table('users')->insertGetId($data);//    ,     id
        if ($last_id) {
          echo " ".$j."     ,users  :".$last_id." !<br/>";
        }else{
          echo " ".$j."     !<br/>";
        }
      }
    }else{
      echo "      !";
    }
  }
출력 결과:

주의:
제3자 라 이브 러 리 를 도입 하여 vendor()를 사용 합 니 다.네 임 스페이스 형식 으로바 텀 코드 는"."를"/"로 자동 으로 바 꾸 기 때문에"/"를 사용 할 때"."로 대체 해 야 합 니 다.
상기 코드 는 직접 복사 해서 사용 할 수 있 지만 데이터베이스 관련 정 보 는 당신 의 것 으로 바 꿔 야 합 니 다!
총결산
위 에서 말 한 것 은 편집장 님 께 서 소개 해 주신 Thinkpphp 5+PHPExcel 대량 업로드 표 데이터 기능 입 니 다.여러분 께 도움 이 되 시 기 를 바 랍 니 다.궁금 한 점 이 있 으 시 면 메 시 지 를 남 겨 주세요.

좋은 웹페이지 즐겨찾기