TP5.1excel匯入資料庫的程式碼?php excel如何匯入資料庫?

sfi799發表於2021-05-01

原創文章引自(https://www.ympfb.com/show-29-154-1.html)

在用之前必須
use think\PHPExcel;
並且這個是第三方類庫,這個類庫是直接用命令能後下載的
composer 命令:
composer require phpoffice/phpexcel

public function save(){
        //前臺的form表單大家都會吧,我就不寫了
        //設定檔案上傳的最大限制
        ini_set('memory_limit','1024M');
        //載入第三方類檔案
        require_once "../extend/PHPExcel/PHPExcel.php";
        //防止亂碼
        header("Content-type:text/html;charset=utf-8");
        //例項化主檔案
        //接收前臺傳過來的execl檔案
        $file = $_FILES['file'];
        //擷取檔案的字尾名,轉化成小寫
        $extension = strtolower(pathinfo($file['name'],PATHINFO_EXTENSION));
        if($extension == "xlsx"){
            //2007(相當於是開啟接收的這個excel)
            $objReader =\PHPExcel_IOFactory::createReader('Excel2007');
        }else{
            //2003(相當於是開啟接收的這個excel)
            $objReader = \PHPExcel_IOFactory::createReader('Excel5');
        }

        $objContent = $objReader -> load($file['tmp_name']);

        if ($objContent){
            $sheetContent = $objContent -> getSheet(0) -> toArray();
            //刪除第一行標題
   //dump($sheetContent);die;
   //其實到這裡就結束了,就已經得到excel表格的所有資料了,下面就是如何插入資料庫的問題了 ,下面我的方法大家可以參考

   $len = count($sheetContent);
   //var_dump($len);exit;
   if($len == 1){
    echo "<script>alert('請不要拿空表格來騙我');window.history.back();</script>";
    exit();
   }

   for($i = 1;$i<$len; $i++){
    $data = [
     'id' => '',
     'phone' => $sheetContent[$i][0],
     'company_name' => $sheetContent[$i][1],
     'add_id' => $sheetContent[$i][2],
     'industry_id' => $sheetContent[$i][3],
     'data_name' => $sheetContent[$i][4],
     'data_address' => $sheetContent[$i][5],
     'data_class' => $sheetContent[$i][6],
     'data_set_up_date' => $sheetContent[$i][6],
     'create_time' => date('Y-m-d')
    ];
    //dump($data);die;
    $re = Db::name('data_decoration_company')->insert($data);
   }
            //var_dump($res);die;
if($re){
    echo "<script>alert('匯入成功');window.history.back();      </script>";
    exit();
    $this->redirect('/')->remember();
}else{
    echo "<script>alert('匯入失敗了,慢點慢點@!@本電腦的腦子已經跟不上你的節奏了');window.history.back();</script>";
    exit();
    $this->redirect('/')->remember();
    }
}else{
    $this->error('請匯入表格 !');
}
    }
``````php
本作品採用《CC 協議》,轉載必須註明作者和本文連結

相關文章