PHP导入excel方法

        $filePath = $_FILES['file']['tmp_name'];
        if(!$filePath){
            echo '请选择导入文件!';
            exit;
        }
        // 要读取的文件的路径

        //$phpexcel = new \PHPExcel;

 

        $PHPReader = new \PHPExcel_Reader_Excel2007(); //读取excel文件
        // 这里是用Reader尝试去读文件,07不行用05,05不行就报错。
        if (!$PHPReader->canRead($filePath)) {
            $PHPReader = new \PHPExcel_Reader_Excel5();
            if (!$PHPReader->canRead($filePath)) {
                $errorMessage = "Can not read file.";
                return $this->render('error', ['errorMessage' => $errorMessage]);
            }
        }
        // Reader读出来后,加载给Excel实例
        $PHPExcel = $PHPReader->load($filePath);
        //开始遍历输出二维表格
        $allSheet = $PHPExcel->getSheetCount(); // sheet数
        $currentSheet = $PHPExcel->getSheet(0); // 拿到第一个sheet(工作簿?)
        $highestRow = $currentSheet->getHighestRow(); // 取得总行数

        $mModel = new Model();

        //循环读取excel文件,读取一条,插入一条
        for ($j=2;$j<=$highestRow;$j++) {

            $data['activity'] = $PHPExcel->getActiveSheet()->getCell("A$j")->getValue();
            $data['prize'] = $PHPExcel->getActiveSheet()->getCell("B$j")->getValue();
            $data['redeem_code'] = $PHPExcel->getActiveSheet()->getCell("C$j")->getValue();
            $temp = array();
            $temp = $data;
            //数据验证
            if (TRUE !== $m = $this->validation($data)) {
                return $this->promptInfo(E_ACTIVITY_REDEEM_CODE_EXCEL_FAILED ,  "第 $j 行,出错原因:' $m '");
            }
            //判断是否存在
            $exist  = $mModel->findExit(['redeem_code'=>$data['redeem_code'] , 'aid' => $data['aid'] , 'prize_id' => $data['prize_id']]);
            if(!isset($exist['id'])) {
                $mModel->addRecord($data);
            }
        }

        return $this->promptInfo(E_OK ,  "导入完成!");

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值