1. 程式人生 > >php語言中Excel表格匯入資料庫的方法詳解

php語言中Excel表格匯入資料庫的方法詳解

  在php程式語言中,對於如何在Excel表格中匯入資料庫的方法是很多程式設計者比較頭疼的一個問題,有些技術人員可能在百度嘗試過搜尋很多不同的問題,但是給出的答案經過自己測試之後,發現還是行不通,那麼對此,燚軒科技也嘗試了一下如何在Excel表格中匯入資料庫,現在將原始碼展示給各位技術程式設計者,大家可以借鑑參考一下。

public function saveexcel(){

        require_once('./Thinkphp/Extend/Vendor/PHPExcel-1.8/Classes/PHPExcel.php');

        require_once('./Thinkphp/Extend/Vendor/PHPExcel-1.8/Classes/PHPExcel/IOFactory.php');

        require_once('./Thinkphp/Extend/Vendor/PHPExcel-1.8/Classes/PHPExcel/Reader/Excel5.php');

        //獲取表格的大小,限制上傳表格的大小5M

        // $file_size = $_FILES['myfile']['size'];

        // if ($file_size>5*1024*1024) {

        // echo "<script>alert('上傳失敗,上傳的表格不能超過5M的大小');history.go(-1);</script>";

        //     exit();

        // }

        //限制上傳表格型別

        $file_type = $_FILES['myfile']['type'];

        if ($file_type!='application/vnd.ms-excel') {

            echo "<script>alert('上傳失敗,只能上傳excel200397-2003xls格式!');history.go(-1)</script>";

         exit();

        }

        //判斷表格是否上傳成功

        if (is_uploaded_file($_FILES['myfile']['tmp_name'])) {

            //以上三步載入phpExcel的類

            $objReader = \PHPExcel_IOFactory::createReader('Excel5');//use excel2007 for 2007 format

            //接收存在快取中的excel表格

            $filename = $_FILES['myfile']['tmp_name'];

            $objPHPExcel = $objReader->load($filename); //$filename可以是上傳的表格,或者是指定的表格

            $sheet = $objPHPExcel->getSheet(0);

            $highestRow = $sheet->getHighestRow(); // 取得總行數

            // $highestColumn = $sheet->getHighestColumn(); // 取得總列數

            //迴圈讀取excel表格,讀取一條,插入一條

            //j表示從哪一行開始讀取  從第二行開始讀取,因為第一行是標題不儲存

            //$a表示列號

            $model=M('user');

            $rechargemodel=M('recharge');

            $joinmodel=M('joinplan');

            for($j=2;$j<=$highestRow;$j++)  

            {

                $name = $objPHPExcel->getActiveSheet()->getCell("B".$j)->getValue();//獲取B(姓名)列的值

                $tel = $objPHPExcel->getActiveSheet()->getCell("C".$j)->getValue();//獲取C(手機號)列的值

               $arr['name']=$name;

                $arr['tel']=$tel;

                $arr['addtime']=time();

                $arr['geti']=0;

                $res=$model->add($arr);

            }

            if($res){

                success('新增成功',U('userlist'));

            }else{

                error('操作失敗,請稍後再試');

            }

        }

}

Php excel 檔案

 

程式碼匯出(不需要引入 任何介面)

     public function  exportDayInner(){

          $model = M("Goodsinfo");

          // $innerdata = $mod->select();

          $list = $model->order('gid desc')->select();

          $smodel = M("Shopinfo");

          $gmodel = M("Goodscategory");

          foreach ($list as $key => $value) {

            $list[$key]['maoli']=floatval($value['price'])-floatval($value['jprice']);

            $list[$key]['maolilv']=floatval($list[$key]['maoli'])/floatval($value['price'])*100;

            $list[$key]["catename"]=$gmodel->where("id=%d",$value['goodscateid'])->getField("name");

          }

          $a =['普通商品','休閒專區','特價專區','套餐專區','酒水專區','新品專區','限購','普通商品'];

          $b = ['推薦','不推薦'];

          $c = ['',''];    

                      // echo $mod->getLastSql();exit;

                      // dump($innerdata);die;

                      $table = '';

                      $table .= "<table align='center' border='1' cellpadding'0' cellspacing='0'>

                      <thead>

                      <tr>

                      <th class='name'>序號</th>

                      <th class='name'>商品名</th>

                      <th class='name'>商品型別</th>

                      <th class='name'>商品一級分類</th>

                      <th class='name'>商品二級分類</th>

                      <th class='name'>是否推薦</th>

                      <th class='name'>進價</th>

                      <th class='name'>售價</th>

                      <th class='name'>毛利</th>

                      <th class='name'>毛利率</th>

                      <th class='name'>條碼</th>

                      <th class='name'>規格</th>

                      <th class='name'>生產日期</th>

                      <th class='name'>保質期</th>

                      <th class='name'>建議零售價</th>

                      <th class='name'>是否有貨</th>

                      </tr>

                      </thead>

                      <tbody>";

                      foreach ($list as $v) {

                      $table .= "<tr align='center'>

                      <td class='name'>{$v['gid']}</td>

                      <td class='name'>{$v['gname']}</td>

                      <td class='name'>{$a[$v['type']]}</td>

                      <td class='name'>{$v['catename']}</td>

                      <td class='name'>{$v['classify']}</td>

                      <td class='name'>{$b[$v['like']]}</td>

                      <td class='name'>{$v['jprice']}</td>

                      <td class='name'>{$v['price']}/{$v['unity']} </td>

                      <td class='name'>{$v['maoli']}</td>

                      <td class='name'>{$v['maolilv']}%</td>

                      <td class='name'>{$v['borcode']}</td>

                      <td class='name'>{$v['norms']}</td>

                      <td class='name'>{$v['ptime']}</td>

                      <td class='name'>{$v['shelflife']}</td>

                      <td class='name'>{$v['retail_price']}</td>

                      <td class='name'>{$c[$v['repertor']]}</td>                

                      </tr>";

                      }

                      $table .= "</tbody>

                      </table>";

  //通過header頭控制輸出excel表格

                      header("Pragma: public");  

                      header("Expires: 0");  

                      header("Cache-Control:must-revalidate, post-check=0, pre-check=0");  

                      header("Content-Type:application/force-download");  

                      header("Content-Type:application/vnd.ms-execl");  

                      header("Content-Type:application/octet-stream");  

                      header("Content-Type:application/download");

                      header('Content-Disposition:attachment;filename="商品列表.xls"');  

                      header("Content-Transfer-Encoding:binary");  

                      echo $table;

      }

  以上就是為各位講解的如何在Excel表格中匯入資料庫的具體方法了,希望有不懂的技術人員可以在評論中提出,我們會為您解答。

本文由專業做app開發製作、微信小程式開發、網站建設的鄭州燚軒軟體科技發表,如需轉載請註明原文作者及出處!