国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > ThinkPHP > 正文

thinkphp實現excel數據的導入導出的實例代碼

2024-09-09 15:20:21
字體:
來源:轉載
供稿:網友

實現步驟:

一:在http://phpExcel.codeplex.com/下載最新PHPExcel放到Vendor下,注意位置:ThinkPHP/Extend/Vendor/PHPExcel/PHPExcel.php。

二:導出excel代碼實現

  1. /**方法**/ 
  2. functionindex(){ 
  3.     $this->display(); 
  4.   } 
  5. publicfunctionexportExcel($expTitle,$expCellName,$expTableData){ 
  6.     $xlsTitle= iconv('utf-8','gb2312',$expTitle);//文件名稱 
  7.     $fileName=$_SESSION['account'].date('_YmdHis');//or $xlsTitle 文件名稱可根據自己情況設定 
  8.     $cellNum=count($expCellName); 
  9.     $dataNum=count($expTableData); 
  10.     vendor("PHPExcel.PHPExcel"); 
  11.       
  12.     $objPHPExcel=newPHPExcel(); 
  13.     $cellName=array('A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z','AA','AB','AC','AD','AE','AF','AG','AH','AI','AJ','AK','AL','AM','AN','AO','AP','AQ','AR','AS','AT','AU','AV','AW','AX','AY','AZ'); 
  14.       
  15.     $objPHPExcel->getActiveSheet(0)->mergeCells('A1:'.$cellName[$cellNum-1].'1');//合并單元格 
  16.     // $objPHPExcel->setActiveSheetIndex(0)->setCellValue('A1', $expTitle.' Export time:'.date('Y-m-d H:i:s')); 
  17.     for($i=0;$i<$cellNum;$i++){ 
  18.       $objPHPExcel->setActiveSheetIndex(0)->setCellValue($cellName[$i].'2',$expCellName[$i][1]); 
  19.     } 
  20.      // Miscellaneous glyphs, UTF-8  
  21.     for($i=0;$i<$dataNum;$i++){ 
  22.      for($j=0;$j<$cellNum;$j++){ 
  23.       $objPHPExcel->getActiveSheet(0)->setCellValue($cellName[$j].($i+3),$expTableData[$i][$expCellName[$j][0]]); 
  24.      }       
  25.     } 
  26.       
  27.     header('pragma:public'); 
  28.     header('Content-type:application/vnd.ms-excel;charset=utf-8;name="'.$xlsTitle.'.xls"'); 
  29.     header("Content-Disposition:attachment;filename=$fileName.xls");//attachment新窗口打印inline本窗口打印 
  30.     $objWriter= PHPExcel_IOFactory::createWriter($objPHPExcel,'Excel5'); 
  31.     $objWriter->save('php://output'); 
  32.     exit;  
  33.   } 
  34. /** 
  35.    * 
  36.    * 導出Excel 
  37.    */ 
  38.   functionexpUser(){//導出Excel 
  39.     $xlsName="User"
  40.     $xlsCell=array
  41.     array('id','賬號序列'), 
  42.     array('truename','名字'), 
  43.     array('sex','性別'), 
  44.     array('res_id','院系'), 
  45.     array('sp_id','專業'), 
  46.     array('class','班級'), 
  47.     array('year','畢業時間'), 
  48.     array('city','所在地'), 
  49.     array('company','單位'), 
  50.     array('zhicheng','職稱'), 
  51.     array('zhiwu','職務'), 
  52.     array('jibie','級別'), 
  53.     array('tel','電話'), 
  54.     array('qq','qq'), 
  55.     array('email','郵箱'), 
  56.     array('honor','榮譽'), 
  57.     array('remark','備注')  
  58.     ); 
  59.     $xlsModel= M('Member'); 
  60.    //Vevb.com 
  61.     $xlsData=$xlsModel->Field('id,truename,sex,res_id,sp_id,class,year,city,company,zhicheng,zhiwu,jibie,tel,qq,email,honor,remark')->select(); 
  62.     foreach($xlsDataas$k=>$v
  63.     { 
  64.       $xlsData[$k]['sex']=$v['sex']==1?'男':'女'
  65.     } 
  66.     $this->exportExcel($xlsName,$xlsCell,$xlsData); 
  67.        
  68.   } 

第三:導入excel數據代碼

  1. functionimpUser(){ 
  2.     if(!emptyempty($_FILES)) { 
  3.       import("@.ORG.UploadFile"); 
  4.       $config=array
  5.         'allowExts'=>array('xlsx','xls'), 
  6.         'savePath'=>'./Public/upload/'
  7.         'saveRule'=>'time'
  8.       ); 
  9.       $upload=newUploadFile($config); 
  10.       if(!$upload->upload()) { 
  11.         $this->error($upload->getErrorMsg()); 
  12.       }else
  13.         $info=$upload->getUploadFileInfo(); 
  14.           
  15.       } 
  16.       
  17.       vendor("PHPExcel.PHPExcel"); 
  18.         $file_name=$info[0]['savepath'].$info[0]['savename']; 
  19.         $objReader= PHPExcel_IOFactory::createReader('Excel5'); 
  20.         $objPHPExcel=$objReader->load($file_name,$encode='utf-8'); 
  21.         $sheet=$objPHPExcel->getSheet(0); 
  22.         $highestRow=$sheet->getHighestRow();// 取得總行數 
  23.         $highestColumn=$sheet->getHighestColumn();// 取得總列數 
  24.         for($i=3;$i<=$highestRow;$i++) 
  25.         {  
  26.           $data['account']=$data['truename'] =$objPHPExcel->getActiveSheet()->getCell("B".$i)->getValue(); 
  27.           $sex=$objPHPExcel->getActiveSheet()->getCell("C".$i)->getValue(); 
  28.           // $data['res_id']  = $objPHPExcel->getActiveSheet()->getCell("D".$i)->getValue(); 
  29.           $data['class'] =$objPHPExcel->getActiveSheet()->getCell("E".$i)->getValue(); 
  30.           $data['year'] =$objPHPExcel->getActiveSheet()->getCell("F".$i)->getValue(); 
  31.           $data['city']=$objPHPExcel->getActiveSheet()->getCell("G".$i)->getValue(); 
  32.           $data['company']=$objPHPExcel->getActiveSheet()->getCell("H".$i)->getValue(); 
  33.           $data['zhicheng']=$objPHPExcel->getActiveSheet()->getCell("I".$i)->getValue(); 
  34.           $data['zhiwu']=$objPHPExcel->getActiveSheet()->getCell("J".$i)->getValue(); 
  35.           $data['jibie']=$objPHPExcel->getActiveSheet()->getCell("K".$i)->getValue(); 
  36.           $data['honor']=$objPHPExcel->getActiveSheet()->getCell("L".$i)->getValue(); 
  37.           $data['tel']=$objPHPExcel->getActiveSheet()->getCell("M".$i)->getValue(); 
  38.           $data['qq']=$objPHPExcel->getActiveSheet()->getCell("N".$i)->getValue(); 
  39.           $data['email']=$objPHPExcel->getActiveSheet()->getCell("O".$i)->getValue(); 
  40.           $data['remark']=$objPHPExcel->getActiveSheet()->getCell("P".$i)->getValue(); 
  41.           $data['sex']=$sex=='男'?1:0; 
  42.           $data['res_id'] =1; 
  43.             
  44.           $data['last_login_time']=0; 
  45.           $data['create_time']=$data['last_login_ip']=$_SERVER['REMOTE_ADDR']; 
  46.           $data['login_count']=0; 
  47.           $data['join']=0; 
  48.           $data['avatar']=''
  49.           $data['password']=md5('123456');       
  50.           M('Member')->add($data); 
  51.        
  52.         } 
  53.          $this->success('導入成功!'); 
  54.     }else 
  55.       { 
  56.         $this->error("請選擇上傳的文件"); 
  57.       }  
  58.        
  59.  
  60.   } 

四、模板代碼

  1. <html> 
  2.   <head> 
  3.       
  4.   </head> 
  5.   <body> 
  6.   <P><ahrefahref="{:U('Index/expUser')}">導出數據并生成excel</a></P><br/> 
  7.     <formactionformaction="{:U('Index/impUser')}"method="post"enctype="multipart/form-data"> 
  8.       <inputtypeinputtype="file"name="import"/> 
  9.       <inputtypeinputtype="hidden"name="table"value="tablename"/> 
  10.       <inputtypeinputtype="submit"value="導入"/> 
  11.     </form> 
  12.   </body> 
  13.     
  14. </html> 

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 乐业县| 东台市| 卢湾区| 汕尾市| 手机| 阿拉善左旗| 富阳市| 康保县| 莱芜市| 长垣县| 教育| 屯门区| 璧山县| 光山县| 浦城县| 旬阳县| 丽江市| 东丰县| 保亭| 自贡市| 黎平县| 堆龙德庆县| 玛曲县| 巢湖市| 蓬安县| 望都县| 静海县| 东乌珠穆沁旗| 济宁市| 周口市| 军事| 江华| 冷水江市| 汨罗市| 崇左市| 灵丘县| 溧阳市| 长沙市| 赤水市| 裕民县| 乐都县|