PHPExcel导入EXCEL文件到数据库

开发环境THINKPHP,本方法导入可导入非2007的EXCEL文件

PHPExcel插件放在ThinkPHP/Extend/Vendor/目录下


class ImportAction extends CommonAction{
    public function load(){
        import('@.ORG.Util.UploadFile');
        $upload = new UploadFile();// 实例化上传类
        $upload->maxSize  = 5000000 ;// 设置附件上传大小
        $upload->allowExts  = array('xls', 'xlsx');// 设置附件上传类型
        $upload->savePath =  './Uploads/';// 设置附件上传目录
        if(!$upload->upload()) {// 上传错误提示错误信息
            $this->error($upload->getErrorMsg());
        }else{// 上传成功 获取上传文件信息
            $info =  $upload->getUploadFileInfo();
        }
        $type=$_POST['type'];
        if($type==1){
            $name="Account";
        }else if($type==2){
            $name="Deposit";
        }else if($type==3){
            $name="Transaction";
        }
        $model=M($name);
        Vendor('PHPExcel.IOFactory'); //导入第三方类库
$inputFileName =$upload->savePath.$info[0]['savename']; //获得上传文件 
        
         $objReader = new PHPExcel_Reader_Excel5();
            $objPHPExcel = $objReader->load($inputFileName);
            $sheet = $objPHPExcel->getSheet(0);
            $highestRow = $sheet->getHighestRow(); // 取得总行数
            $highestColumn = $sheet->getHighestColumn(); // 取得总列数
            $tempArray = array();
            for($j=2;$j<=$highestRow;$j++){
                for($k='A';$k<=$highestColumn;$k++){ 
                    $tempArray[] = $objPHPExcel->getActiveSheet()->getCell("$k$j")->getValue(); 
                    // print_r($objPHPExcel->getActiveSheet()->getCell("$k$j")->getValue());exit;
                } 
                    //print_r($tempArray);exit;
                    if($type==1){
                        $tempArray['full_name']=$tempArray[0];
                        $tempArray['user_name']=$tempArray[1];
                        $tempArray['simulation_account']=$tempArray[2];
                        $tempArray['real_account']=$tempArray[3];
                        $tempArray['createtime']=time();
                    }else if($type==2){
                        $tempArray['real_account']=$tempArray[0];
                        $tempArray['deposit']=$tempArray[0];
                        $tempArray['createtime']=time();
                    }else if($type==3){
                        $tempArray['real_account']=$tempArray[0];
                        $tempArray['trading_lot']=$tempArray[0];
                        $tempArray['createtime']=time();
                    }
    // print_r($tempArray);exit;
                    $model->create($tempArray);
                    $model->add();
                    
                    unset($tempArray);
                }
                    
                    unlink($inputFileName); //删除上传的文件
                    
                    $this->success('资源导入成功!');
            
    }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值