找回密码
 立即注册

QQ登录

只需一步,快速开始

Thinkphp Excel导入例子

crx349 于 2016-7-14 13:47 [ThinkPHP 3.2] 发表在 [复制链接] [显示全部楼层] [打印] [上一主题] [下一主题]
由于项目需求,自行开发定制了一个excel导入功能,网上找的thinkphp例子是不是3.2适用的,所以只能自己改了,本例子适用的thinkphp是Onethink后台插件例子,动手能力强的,可以自行改造,谢谢

1.控制器
  1. <?php


  2. namespace Admin\Controller;

  3. /**
  4. * Excel导入/导出控制器
  5. * @author crx349 <842062626@qq.com>
  6. */
  7. class ExcelController extends AdminController {

  8.     /**
  9.      * 默认显示
  10.      * @author crx349 <842062626@qq.com>
  11.      */
  12.     function  index(){
  13.         //$this->display();
  14.         echo "ok";
  15.     }
  16.     /**
  17.      * Excel导入函数
  18.      * @author crx349 <842062626@qq.com>
  19.      */
  20.     function excelto(){
  21.         if (!empty($_FILES)) {
  22.             //import("@.ORG.UploadFile");
  23.             $config = array(
  24.                 'maxSize'    =>    3145728,
  25.                 'rootPath'   =>    './Uploads/',
  26.                 'savePath'   =>    '/Excel/',
  27.                 'saveName'   =>    array('uniqid',''),
  28.                 'exts'       =>    array('xlsx','xls'),
  29.                 'autoSub'    =>    true,
  30.                 'subName'    =>    array('date','Ymd'),
  31.             );
  32.             $upload = new \Think\Upload($config);// 实例化上传类
  33.             $info = $upload->upload();
  34.             if(!$info) {// 上传错误提示错误信息
  35.                 $this->error($upload->getError());
  36.             }else{
  37.                 foreach($info as $file) {
  38.                     $file_name = $config['rootPath'].$file['savepath'].$file['savename'];
  39.                 }

  40.             }

  41.             vendor("PHPExcel.PHPExcel");

  42.             $objReader = \PHPExcel_IOFactory::createReader('Excel5');
  43.             $objPHPExcel = $objReader->load($file_name,$encode='utf-8');
  44.             $sheet = $objPHPExcel->getSheet(0);
  45.             $highestRow = $sheet->getHighestRow(); // 取得总行数
  46.             $highestColumn = $sheet->getHighestColumn(); // 取得总列数
  47.             //第三行B列起

  48.             for($i=3;$i<=$highestRow;$i++)
  49.             {
  50.                
  51.                 $data['username']=  $objPHPExcel->getActiveSheet()->getCell("B".$i)->getValue();//姓名
  52.                 $data['idcard']=  $objPHPExcel->getActiveSheet()->getCell("C".$i)->getValue();//身份证
  53.                 $data['testdate']=  strtotime($objPHPExcel->getActiveSheet()->getCell("D".$i)->getValue());//日期
  54.                 $data['course_id']=  $objPHPExcel->getActiveSheet()->getCell("E".$i)->getValue();//科目
  55.                 $data['number']= '0';//默认号数
  56.                 M('personnel')->add($data);
  57.                 //var_dump($data);
  58.                 //exit;
  59.             }
  60.             $this->success('导入成功!');
  61.         }else
  62.         {
  63.             $this->error("请选择上传的文件");
  64.         }

  65.     }

  66. }
复制代码



2.视图
  1. <div class="span{$addons_config.width}">
  2.         <div class="columns-mod">
  3.                 <div class="hd cf">
  4.                         <h5>排号人员Excel导入</h5>
  5.                         <div class="title-opt">
  6.                         </div>
  7.                 </div>
  8.                 <div class="bd">
  9.                         <div class="sys-info">
  10.                                 <table>
  11.                                         <tr>
  12.                                                 <th>导入</th>
  13.                                                 <td><form action="/admin.php?s=/excel/excelto" method="post" enctype="multipart/form-data">
  14.             <input type="file" name="import"/>
  15.             <input type="hidden" name="table" value="tablename"/>
  16.             <input type="submit" value="导入"/>
  17.         </form></td>
  18.                                         </tr>
  19.                                         <tr>
  20.                                                 <th>格式</th>
  21.                                                 <td><a href="/Uploads/Excel/gs.xls">演示xls格式</a> </td>
  22.                                         </tr>
  23.                                 </table>
  24.                         </div>
  25.                 </div>
  26.         </div>
  27. </div>
复制代码





本教程由无限星辰工作室CRX349独家整理和提供,转载请注明地址,谢谢。本文地址:https://www.xmspace.net/thread-448-1-1.html
无限星辰工作室  好集导航 Discuz全集下载  星辰站长网  集热爱361  一品文学  手机小游戏合集   海外空间网 星辰api  星辰支付二维码管理平台 阿里云服务器 腾讯云服务器
服务Discuz!建站|DiscuzQ配置|二开|小程序|APP|搬家|挂马清理|防护|Win/Linux环境搭建|优化|运维|
服务理念:专业 诚信 友好QQ842062626 服务项目 Q群315524225

发表于 2016-7-14 13:47:00 | 显示全部楼层 |阅读模式

回复 | 使用道具 举报

该帖共收到 0 条回复!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

美图秀

    • fastadmin 后台界面使用字段数组类型
    • Discuz!x3.5 修改标题高亮颜色
    • Discuz!x3.5 应用中心 下载应用一直下载中
    • 帖子定时显示
    • 论坛辅助审核
拖动客服框
Online Service
点击这里给我发消息
点击这里联系我们
微信扫一扫
在线客服
快速回复 返回顶部 返回列表