欢迎光临
感谢一路有你

实例 | phpexcel 导入使用

如果你对该文章中的内容有疑问/不解,可以点击此处链接提问
要注明问题和此文章链接地址 点击此处跳转
 

方法如下

public function import_member(){
    $fileName = $_FILES['file']['name'];//文件名
    $tmpName = $_FILES['file']['tmp_name'];//临时存放的目录
    $fileError = $_FILES['file']['error'];
    $fileType = $_FILES['file']['type'];
    $fileSize = $_FILES['file']['size'];

    if($fileError>0){
        switch($fileError){
            case 1:
                echo "上传的文件超过了 php.ini 中 upload_max_filesize 选项限制的值";
                break;
            case 2:
                echo "上传文件的大小超过了 HTML 表单中 MAX_FILE_SIZE 选项指定的值";
                break;
            case 3:
                echo "文件只有部分被上传";
                break;
            case 4:
                echo "没有文件被上传";
                break;
            case 6:
                echo "找不到临时文件夹。PHP 4.3.10 和 PHP 5.0.3 引进";
                break;
            case 7:
                echo "文件写入失败。PHP 5.1.0 引进";
                break;
        }
    }   
    $ext = pathinfo($fileName,PATHINFO_EXTENSION);//类型
    $saveName = 'member_'.date('Ymd').mt_rand(1,100).'.'.$ext;
    //生成保存路径
    $uploads = "./uploads/";
    $path = rtrim($uploads,'/')."/".date('Y/m/d/');
    if(!file_exists($path)){
        mkdir($path,0777,true);
    }
    $saveFile = $path .$saveName;
    if(move_uploaded_file($tmpName,$saveFile)){
        // echo "上传成功";
        $ret['message']= $saveFile;
    }else{
      $this->jserroor("上传失败");die;
    }

    require_once '/include/ext/PHPExcel.php';
    require_once '/include/ext/PHPExcel/IOFactory.php';
    require_once '/include/ext/PHPExcel/Reader/Excel5.php';
    //以上三步加载phpExcel的类
    $objReader = PHPExcel_IOFactory::createReader('Excel5');//use excel2007 for 2007 format
    $filename=$saveFile;//指定excel文件从上传中取出
    $objPHPExcel = $objReader->load($filename); //$filename可以是上传的文件,或者是指定的文件
    $sheet = $objPHPExcel->getSheet(0);
    $highestRow = $sheet->getHighestRow(); // 取得总行数
    $highestColumn = $sheet->getHighestColumn(); // 取得总列数
    $k = 0;
    //循环读取excel文件,读取一条,保存一条
    for($j=2;$j<=$highestRow;$j++) {//j=2是因为第一行表为提示,从第二行开始取 { 
        $a = $objPHPExcel->getActiveSheet()->getCell("A".$j)->getValue();//获取A列的值
        $b = $objPHPExcel->getActiveSheet()->getCell("B".$j)->getValue();//获取B列的值
        $c = $objPHPExcel->getActiveSheet()->getCell("C".$j)->getValue();//获取C列的值
        $d = $objPHPExcel->getActiveSheet()->getCell("D".$j)->getValue();//获取C列的值

        $data[$j]['uid'] = $a;
        $data[$j]['username'] = $b;
        $data[$j]['tel'] = $c;
        $data[$j]['idcode'] = $d;
        $data[$j]['password'] = md5(substr($data[$j]['idcode'],-6));
        $data[$j]['createtime'] = time();

        //判断是否存在
        $res_if = $this->model->table('member')->where("tel=".$data[$j]['tel'])->find();
        if(!$res_if){
            //执行添加
            $res_add = $this->model->table('member')->data($data[$j])->insert();
            if(!$res_add){
                $data_log['msg'] = 'user error';
                $data_log['tel'] = $data[$j]['tel'];
                $data_log['tel'] = $data[$j]['tel'];
                logOutput($data_log);
            }
        }
    }
    // echo $_GET['refreshUrl'];die;
    $this->jssuccess('已导入!');
}

 

必要的文件引用:

excel导入

赞(0) 打赏
未经允许不得转载:王明昌博客 » 实例 | phpexcel 导入使用
分享到: 更多 (0)

相关推荐

  • 暂无文章

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏

×
订阅图标按钮