ThinkPHP3.2的Excel导入

来源:互联网 发布:不能安装淘宝助理 编辑:程序博客网 时间:2024/05/19 19:15

最近在弄thinkphp的excel导入导出,但是网上大部分都是基于thinkphp3.1的excel导入,由于本人是在onethink的基础上进行开发的,所以必须对前人的代码进行少量修改。接下来介绍thinkphp3.2版本的excel导入。


步骤

  1. 去网上下载PHPExcel,下载地址:点我下载

  2. 下载下来后可以看到如下目录结构,Classes目录下的PHPExcel文件夹和PHPExcel.php文件。

PHPExcel目录结构

将这两个文件发在Vendor目录下,如图所示:

Vendor目录

  1. 好了,不都说,上代码。
public function impStudent(){if (!empty($_FILES)) {            $config=array(                'allowExts'=>array('xlsx','xls'),                'savePath'=>'Uploads/',                'saveRule'=>'time',            );            $upload = new \Think\Upload($config);//3.1版本之前是UploadFile,所以这里修改下            $info = $upload->upload();            if (!$info) {                $this->error($upload->getErrorMsg());            }            vendor("PHPExcel");            $file_name='Uploads/'.$info['import']['savepath'].$info['import']['savename'];//其实很多朋友出错的主要原因就是在这个地方            $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++)            {                $sex = $objPHPExcel->getActiveSheet()->getCell("B".$i)->getValue();                $data['sex']=$sex=='男'?1:0;                M('Member')->add($data);            }            $this->success('导入成功!');        }else        {            $this->error("请选择上传的文件");        }        }    }

最后是View层代码

<form action="{:U('impStudent')}" method="post" enctype="multipart/form-data">            <input type="file" name="import"/>            <input type="submit" value="导入"/>        </form>

参考文章:http://www.thinkphp.cn/topic/14005.html

以上就是thinkphp3.2版本的excel导入,如有不对之处,欢迎指正!谢谢!

0 0
原创粉丝点击