thinkPHP5.0如何实现excel导入导出?(代码示例)

如果下载的源码需要作者授权,请更换源码。本站免费分享资源不会增加授权

本篇文章给大家带来的内容是介绍thinkPHP5.0如何实现excel导入导出?(代码示例)。有一定的参考价值,有需要的朋友可以参考一下,希望对你们有所帮助。

excel导入导出

引第三方的phpexcel类库放到 ThinkPHPLibraryVendordemo下,自己建的文件夹demo

再将Excel.class放到ThinkPHPLibraryOrgclass下,自己建的文件夹class

控制器:

<?php namespace AdminController; use ThinkController; 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 ThinkUpload();                 $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 class="page-header">     <h1>TP DEMO         <small>Excel导入导出练习</small>     </h1> </p>  <form method="post" action="{:U('Excel/import')}" class="form-signin" enctype="multipart/form-data" >     <input name="file_stu" type="file" class="form-control">     <button class="btn btn-lg btn-primary btn-block">导入</button> </form> </body> </html>

视图:(show.html)

<!DOCTYPE html> <html lang="en"> <head>     <meta charset="UTF-8">     <title>表格展示</title> </head> <body> <p class="page-header">     <h1>TP DEMO         <small>Excel导入导出练习</small>     </h1> </p>  <table class="table">     <tr>         <td><h4><b>平台名称</b></h4></td>         <td><h4><b>帐号</b></h4></td>         <td><h4><b>密码</b></h4></td>     </tr>     <foreach name="data" item="vo">         <tr>             <td>{$vo.name}</td>             <td>{$vo.account}</td>             <td>{$vo.password}</td>         </tr>     </foreach> </table>    <form action="{:U('Excel/export')}" class="form-signin">     <button class="btn btn-lg btn-primary btn-block">导出数据库数据</button> </form>  </body> </html>

谢谢大家浏览到这里~~~~

本文由(壳先生)整理自网络,如转载请注明出处:https://www.mrshell.com;
本站发布的内容若侵犯到您的权益,请邮件联系 i@mrshell.com 删除,我们将及时处理!
===========================================================================

1. 本站大部分下载资源收集于网络,不保证其完整性以及安全性,请下载后自行测试。
2. 本站资源仅供学习和交流使用,版权归资源原作者所有,请在下载后24小时之内自觉删除。
3. 不得使用于非法商业用途,商用请支持正版!不得违反国家法律,否则后果自负!
4. 若作商业用途,请购买正版,由于未及时购买和付费发生的侵权行为,与本站无关。
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需!

=================================================================

壳先生 » thinkPHP5.0如何实现excel导入导出?(代码示例)

发表评论

提供最优质的资源集合

立即查看 了解详情