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教程
郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。
新闻热点
疑难解答