>백엔드 개발 >PHP 튜토리얼 >PHP Excel에서 MySQL 데이터베이스로 데이터를 가져오는 방법

PHP Excel에서 MySQL 데이터베이스로 데이터를 가져오는 방법

不言
不言원래의
2018-07-04 14:08:0011289검색

이 글은 주로 PHP Excel에서 MySQL 데이터베이스로 데이터를 가져오는 방법을 소개합니다. 이제 필요한 친구들이 참고할 수 있도록 공유하겠습니다. 🎜 #

추천 mysql 비디오 튜토리얼: "

mysql tutorial"

데이터 내보내기가 이미 가능합니다. 어떻게 데이터 가져오기가 없을 수 있습니까? 동일한 것을 사용하십시오. TP5 프레임워크의 경우 먼저

phpexcel.zip을 다운로드하여 타사 라이브러리 디렉토리의 공급업체 디렉토리에 넣어야 합니다. 그런 다음 원하는 Excel 파일을 선택할 수 있는 페이지가 있습니다. 가져오려면 가져오기 버튼을 클릭하여 인터페이스를 호출하세요.

내 템플릿의 데이터는 다음과 같습니다.

#🎜🎜 #

백엔드 인터페이스 코드는 다음과 같습니다.

    public function uplExcel(Request $request)
    {
        if (!empty($_FILES['excel']['name'])) {
            $fileName = $_FILES['excel']['name'];    //得到文件全名
            $dotArray = explode('.', $fileName);    //把文件名安.区分,拆分成数组
            $type = end($dotArray);

            if ($type != "xls" && $type != "xlsx") {
                $ret['res'] = "0";
                $ret['msg'] = "不是Excel文件,请重新上传!";
                return json_encode($ret);
            }

            //取数组最后一个元素,得到文件类型
            $uploaddir = "../uploads2/" . date("Y-m-d") . '/';//设置文件保存目录 注意包含
            if (!file_exists($uploaddir)) {
                mkdir($uploaddir, 0777, true);
            }

            $path = $uploaddir . md5(uniqid(rand())) . '.' . $type; //产生随机文件名
            //$path = "images/".$fileName; //客户端上传的文件名;
            //下面必须是tmp_name 因为是从临时文件夹中移动
            move_uploaded_file($_FILES['excel']['tmp_name'], $path); //从服务器临时文件拷贝到相应的文件夹下

            $file_path = $path;
            if (!file_exists($path)) {
                $ret['res'] = "0";
                $ret['msg'] = "上传文件丢失!" . $_FILES['excel']['error'];
                return json_encode($ret);
            }

            //文件的扩展名
            $ext = strtolower(pathinfo($path, PATHINFO_EXTENSION));
            if ($ext == 'xlsx') {
                $objReader = \PHPExcel_IOFactory::createReader('Excel2007');
                $objPHPExcel = $objReader->load($file_path, 'utf-8');
            } elseif ($ext == 'xls') {
                $objReader = \PHPExcel_IOFactory::createReader('Excel5');
                $objPHPExcel = $objReader->load($file_path, 'utf-8');
            }

            $sheet = $objPHPExcel->getSheet(0);
            $highestRow = $sheet->getHighestRow(); // 取得总行数
            $highestColumn = $sheet->getHighestColumn(); // 取得总列数
            $ar = array();
            $i = 0;
            $importRows = 0;
            for ($j = 2; $j <= $highestRow; $j++) {
                $importRows++;

                $realName = (string)$objPHPExcel->getActiveSheet()->getCell("A$j")->getValue();//需要导入的realName
                $phone = (string)$objPHPExcel->getActiveSheet()->getCell("B$j")->getValue();   //需要导入的phone
                $company = (string)$objPHPExcel->getActiveSheet()->getCell("C$j")->getValue(); //需要导入的company
                $job = (string)$objPHPExcel->getActiveSheet()->getCell("D$j")->getValue();     //需要导入的job
                $email = (string)$objPHPExcel->getActiveSheet()->getCell("E$j")->getValue();   //需要导入的email
                $ret[&#39;mdata&#39;] = $this->addMemb($phone, $realName, $company, $job, $email);//这里就是我的数据库添加操作定义的一个方法啦,对应替换为自己的

                if ($ret[&#39;mdata&#39;] && !is_Bool($ret[&#39;mdata&#39;])) {
                    $ar[$i] = $ret[&#39;mdata&#39;];
                    $i++;
                }
            }
            if ($i > 0) {
                $ret[&#39;res&#39;] = "0";
                $ret[&#39;errNum&#39;] = $i;
                $ret[&#39;allNum&#39;] = $importRows;
                $ret[&#39;sucNum&#39;] = $importRows - $i;
                $ret[&#39;mdata&#39;] = $ar;
                $ret[&#39;msg&#39;] = "导入完毕!";
                return json_encode($ret);
            }
            $ret[&#39;res&#39;] = "1";
            $ret[&#39;allNum&#39;] = $importRows;
            $ret[&#39;errNum&#39;] = 0;
            $ret[&#39;sucNum&#39;] = $importRows;
            $ret[&#39;mdata&#39;] = "导入成功!";
            return json_encode($ret);
        } else {
            $ret[&#39;res&#39;] = "0";
            $ret[&#39;msg&#39;] = "上传文件失败!";
            return json_encode($ret);
        }
    }

위 내용은 모두의 학습에 도움이 되기를 바랍니다. 더 많은 관련 내용을 보시려면 PHP 중국어 홈페이지를 주목해주세요!

관련 권장 사항:

PHP를 사용하면 동일한 값을 가진 배열이 새로운 배열 인스턴스를 형성할 수 있습니다. 설명

#🎜🎜 # # 🎜🎜#PHP에서 클래스 정적 호출과 범위 확인 연산자의 차이점

위 내용은 PHP Excel에서 MySQL 데이터베이스로 데이터를 가져오는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.