excel導入導出
引第三方的phpexcel類庫放到 ThinkPHP/Library/Vendor/demo下,自己建的文件夾demo
再將Excel.html' target='_blank'>class放到ThinkPHP/Library/Org/class下,自己建的文件夾class
控制器:
?phpnamespace Admin/Controller;use Think/Controller;class ExcelController extends Controller { public function excelList(){ $this- display();// 導入 public function import(){ if(!empty($_FILES[ file_stu ][ name ])){ $tmp_file = $_FILES[ file_stu ][ tmp_name //臨時文件名 $file_types = explode( . ,$_FILES[ file_stu ][ name // 拆分文件名 $file_type = $file_types [count ( $file_types ) - 1]; // 文件類型 /*判斷是否為excel文件*/ if($file_type == xls || $file_type == xlsx || $file_type == csv ){ // 符合類型 /*上傳業務*/ $upload = new /Think/Upload(); $upload- maxSize = 3145728 ; $upload- exts = array( xls , csv , xlsx $upload- rootPath = ./Public $upload- savePath = /Excel/ $upload- saveName = date( YmdHis $info = $upload- upload(); if(!$info) { // 上傳錯誤提示錯誤信息 $this- error($upload- getError()); }else{ // 上傳成功 // 讀取文件 $filename= ./Public .$info[ file_stu ][ savepath ].$info[ file_stu ][ savename import( Org.Yufan.ExcelReader vendor( PHPExcel.PHPExcel $reader = /PHPExcel_IOFactory::createReader( Excel2007 //設置以Excel5格式(Excel97-2003工作簿) $PHPExcel = $reader- load($filename); // 載入excel文件 $sheet = $PHPExcel- getSheet(0); // 讀取第一個工作表 $highestRow = $sheet- getHighestRow(); // 取得總行數 var_dump($highestRow); $highestColumm = $sheet- getHighestColumn(); // 取得總列數 /** 循環讀取每個單元格的數據 */ $data = array(); for ($row = 2; $row = $highestRow; $row++){//行數是以第1行開始 if($column = A ){ $data[ name ] = $sheet- getCell($column.$row)- getValue(); if($column = B ){ $data[ account ] = $sheet- getCell($column.$row)- getValue(); if($column = C ){ $data[ password ] = $sheet- getCell($column.$row)- getValue(); M( data )- add($data); $this- success( 導入數據庫成功 ,U( Excel/show } else{ // 不符合類型業務 $this- error( 不是excel文件,請重新上傳... }else{ $this- error( (⊙o⊙)~沒傳數據就導入 //導出 public function export(){ import( ORG.Yufan.Excel $list = M( data )- select(); if($list == null){ $this- error( 數據庫信息為空... ,__APP__. /Admin/Excel/show }else{ $row=array(); $row[0]=array( 平臺名稱 , 帳號 , 密碼 $i=1; foreach($list as $v){ $row[$i][ name ] = $v[ name $row[$i][ account ] = $v[ account $row[$i][ password ] = $v[ password $i++; $xls = new /Excel_XML( UTF-8 , false, datalist $xls- addArray($row); $xls- generateXML(date( YmdHis public function show(){ $m = M( data $data = $m- select(); $this- assign( data ,$data); $this- display();}
視圖:(excelList.html)
!DOCTYPE html html lang= en head meta charset= UTF-8 title Excel導入導出 /title /head body p >視圖:(show.html)
!DOCTYPE html html lang= en head meta charset= UTF-8 title 表格展示 /title /head body p >謝謝大家瀏覽到這里~~~~
以上就是thinkPHP5.0如何實現excel導入導出?(代碼示例)的詳細內容,PHP教程
鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。
新聞熱點
疑難解答