1.實現excel導入
/**實現導入excel **/ function impUser($tid){ if (!empty($_FILES)) { $config=array( 'exts'=>array('xlsx','xls'), 'rootPath'=>"./Public/", 'savePath'=>'Excel/', 'autoSub' => true, 'subName' => array('date','Ymd'), ); $upload = new \Think\Upload($config); if (!$info=$upload->upload()) { $this->error($upload->getError()); } vendor("PHPExcel.Classes.PHPExcel"); $file_name=$upload->rootPath.$info['import']['savepath'].$info['import']['savename']; //var_dump($file_name);exit; $objReader = \PHPExcel_IOFactory::createReader('Excel5'); $objPHPExcel = $objReader->load($file_name,$encode='utf-8'); $sheet = $objPHPExcel->getSheet(0); $highestRow = $sheet->getHighestRow(); // 取得總行數 $highestColumn = $sheet->getHighestColumn(); // 取得總列數 for($i=3;$i<=$highestRow;$i++) { $data['tid']= $objPHPExcel->getActiveSheet()->getCell("B".$i)->getValue(); $data['content']=$objPHPExcel->getActiveSheet()->getCell("C".$i)->getValue(); $data['aa']= $objPHPExcel->getActiveSheet()->getCell("D".$i)->getValue(); $data['ab'] = $objPHPExcel->getActiveSheet()->getCell("E".$i)->getValue(); $data['ac'] = $objPHPExcel->getActiveSheet()->getCell("F".$i)->getValue(); $data['ad']= $objPHPExcel->getActiveSheet()->getCell("G".$i)->getValue(); $data['answer']= $objPHPExcel->getActiveSheet()->getCell("H".$i)->getValue(); $data['addtime']= gmdate("Y-m-d H:i:s", \PHPExcel_Shared_Date::ExcelToPHP($objPHPExcel->getActiveSheet()->getCell("I".$i)->getValue())); $data['addtime']=strtotime( $data['addtime']); $data['quescore']= $objPHPExcel->getActiveSheet()->getCell("j".$i)->getValue(); M('Quest')->add($data); } $this->success('導入成功!'); }else { $this->error("請選擇上傳的文件"); }
2.上傳文件的格式

3.文件導出
//導出excel function expUser($tid){ $xlsName = M('Test') -> where(array('id'=>$tid))->getField('title'); //$xlsName = "我是導出的excel"; $xlsCell = array( array('id','題號id'), array('tid','題試卷id'), array('content','問題名稱'), array('aa','選項A'), array('ab','選項B'), array('ac','選項C'), array('ad','選項D'), array('answer','選項'), array('addtime','時間'), array('quescore','分數') ); $xlsModel = M('Quest'); $xlsData = $xlsModel-> where(array('tid'=>$tid))->Field('id,tid,content,aa,ab,ac,ad,answer,addtime,quescore')->select(); $this->exportExcel($xlsName,$xlsCell,$xlsData); }
4.注意引入的phpexcel的路徑
把phpexcel的包放入 ThinkPHP/Library/Vendor 下面
$objReader = \PHPExcel_IOFactory::createReader//這里要注意‘\’ 要有這個
