thinkphp5中用PHPExcel導入數據

1.在thinkphp5.0中整合PHPExcel見:http://blog.csdn.net/qq_27930635/article/details/79626099

2.首先準備好excel文件,文件內容如下圖所示:


3.將文件放入E:\wamp64\www\tp5\public\uploads\人員.xls(我這裏爲了方便測試,直接放在這裏,正常情況下應該是由前臺上傳文件到這個目錄下)

4.控制器代碼:

public function import($filename){
      //引入PHPExcel
      header("content-type:text/html; charset=utf-8");
      vendor("PHPExcel.PHPExcel");
      //文件導入
      $filename="E:\\wamp64\\www\\tp5\\public\\uploads\\".$filename.".xls";
      $filename=iconv('utf-8','gbk',$filename);
      if(file_exists($filename)) {//如果文件存在
           $PHPReader = new \PHPExcel_Reader_Excel5();
           //載入excel文件
           $PHPExcel = $PHPReader->load($filename);
           $sheet = $PHPExcel->getActiveSheet(0);//獲得sheet
           $highestRow = $sheet->getHighestRow(); // 取得共有數據數
           data=$sheet->toArray();
           for($i=1;$i<$highestRow;$i++){
                $user['gonghao']=$data[$i][0];
                $user['name']=$data[$i][1];
                $user['dept']=$data[$i][2];
                $user['group']=$data[$i][3];
                $user['salary']=$data[$i][4];
                $user['allowance']=$data[$i][5];
                $user['workinghours']=$data[$i][6];
                //這個地方是我自己的邏輯層寫了一個數據庫寫入函數,讀者可以自己寫一個添加函數,
            //相信已經寫phpexcel寫入了,單條數據寫入應該沒得啥子問題了
		$modelUserLogic = Loader::model('User', 'logic');
                $ret=$modelUserLogic->add($user);
	   }
      return $ret;
    }else{
        return array("resultcode" => -5, "resultmsg" => "文件不存在", "data" => null);
    }
}
5.瀏覽器直接訪問該控制的該方法,url後面帶上filename/人員(這裏只是爲了方便測試,沒有作什麼驗證,讀者自己要做一些數據內容驗證,
問價類型驗證,包括excel版本等的驗證)



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