Thinkphp5+PHPExcel實現批量上傳表格式資料功能_php執行個體

來源:互聯網
上載者:User
這篇文章主要介紹了Thinkphp5+PHPExcel實現批量上傳表格式資料功能,需要的朋友可以參考下

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 "上傳檔案失敗!";    }  }


輸出結果:


注意:

引入第三方類庫使用vendor();是按照命名空間的形式。底層代碼會把“ . ”自動替換成" / ",所以使用“ / ”時要用“ . ”代替;

以上代碼可以直接複製使用,但是資料庫相關資訊要改成你自己的!

總結

以上所述是小編給大家介紹的Thinkphp5+PHPExcel實現批量上傳表格式資料功能,希望對大家有所協助,如果大家有任何疑問請在我們的社區問答裡提問哦。

相關推薦:

用ThinkPHP,uploadify,upload,PHPExcel如何? 無重新整理匯入資料

phpexcel如何匯入excel處理大資料的代碼執行個體

利用PHPExcel進行資料的批量上傳

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.