thinkphp3.2.3 excel文件导入

本人学习过程中编写,定有美中不足,如果有错误,请您积极指正;如果有帮助,请不要吝啬您的赞美(点赞),欢迎各位大佬点赞评论。

thinkPHP3.2 excel 数据导入

功能用途:(淘宝,京东等电商订单数据导入自己系统数据库,以及各种数据导入)
使用工具包: SDK(PHPexcel) 下载地址:https://www.php.cn/xiazai/leiku/1491#download-comment
html代码:
在这里插入图片描述
php代码:

public function dataFile(){
        if(IS_POST){
            $upload = new \Think\Upload();// 实例化上传类
            $upload->maxSize   =     3145728 ;// 设置附件上传大小
            $upload->exts      =     array('xls','xlsx');// 设置附件上传类型
            $upload->rootPath  =     "./Application/Admin/Public/Upload/"; // 设置附件上传根目录
            $upload->savePath  =     ''; // 设置附件上传子目录
            // 上传文件
            $info   =   $upload->upload();
            if(!$info) {// 上传错误提示错误信息
                $this->error($upload->getError());
            }
            $savePath = './Application/Admin/Public/Upload/'.$info['file']['savename'].date("Y-m-d").'/'.$info['file']['savename'];//获取上传文件路径
            vendor("PHPExcel.PHPExcel");
            $exts = $info['file']['ext'];//获取上传文件格式
            if($exts == "xls"){
                $objReader=\PHPExcel_IOFactory::createReader('Excel5');//设置读取文件方式
            }
            if($exts == "xlsx"){
                $objReader=\PHPExcel_IOFactory::createReader('Excel2007');//设置读取文件方式
            }
            $objPHPExcel = $objReader->load($savePath,$encode='utf-8');//读取文件
            $sheet = $objPHPExcel->getSheet(0);//获取Excel第一张表
            $highestRow = $sheet->getHighestRow(); // 取得总行数
            $highestColumn = $sheet->getHighestColumn(); // 取得总列数
            $code = M('taoists_person');//实例化数据表

            for($i=2;$i<=$highestRow;$i++){ //循环
                $data['name']= $objPHPExcel->getActiveSheet()->getCell("A".$i)->getValue();//获取A列第一行的值
                $data['sex']= $objPHPExcel->getActiveSheet()->getCell("B".$i)->getValue();//获取B列第一行的值
                $data['birthday']= $objPHPExcel->getActiveSheet()->getCell("C".$i)->getValue();//获取C列第一行的值
                $data['intro']= $objPHPExcel->getActiveSheet()->getCell("D".$i)->getValue();//获取D列第一行的值
                $data['time']= date("Y-m-d H:i:s");
                $result = $code->add($data);//插入数据库
            }
            if ($result) {
                $this->success ( "导入成功!",U('DataManage/daoJiaPerson') );
            }else{
                $error = $this->Model->getError ();
                $this->error ( $error ? $error : "导入失败!" );
            }
        } else {
            $this->display();
        }
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值