qwadmin(tp3.2)上传excel文件并获取数据

在tp3.2时,没有了uploadfile.class.php 而是直接用

$upload = new \Think\Upload();// 实例化上传类

调用,首先是将文件上传到服务器,然后再读取文件内容

        if(!empty($_FILES)){
            $upload = new \Think\Upload();// 实例化上传类
            $upload->maxSize   =     3145728 ;// 设置附件上传大小
            $upload->exts      =     array('xls', 'xlsx', 'csv');// 设置附件上传类型
            $upload->rootPath  =     './Uploads/'; // 设置附件上传根目录
            $upload->savePath  =     ''; // 设置附件上传(子)目录
            // 上传文件
            $info   =   $upload->upload();
            $filename = 'Uploads/'.$info["import"]['savepath'].$info["import"]['savename'];

            if(!$info) {// 上传错误提示错误信息
                $this->error($upload->getError());
            }else{

                //导入PHPExcel类库,因为PHPExcel没有用命名空间,只能inport导入
                import("Org.Util.PHPExcel");
                //创建PHPExcel对象,注意,不能少了\
                $PHPExcel=new \PHPExcel();
                //文件的扩展名
                $ext = strtolower(pathinfo($filename,PATHINFO_EXTENSION));
                if($ext == 'xls'){
                    //如果excel文件后缀名为.xls,导入这个类
                    import("Org.Util.PHPExcel.Reader.Excel5");
                    $PHPReader=new \PHPExcel_Reader_Excel5();
                }else if($ext == 'xlsx'){
                    //如果excel文件后缀名为.xlsx,导入这下类
                    import("Org.Util.PHPExcel.Reader.Excel2007");
                    $PHPReader=new \PHPExcel_Reader_Excel2007();
                }

                //载入文件
                $PHPExcel=$PHPReader->load($filename);
                //获取表中的第一个工作表,如果要获取第二个,把0改为1,依次类推
                $currentSheet=$PHPExcel->getSheet(0);

                //获取总列数
                $allColumn=$currentSheet->getHighestColumn();
                //获取总行数
                $allRow=$currentSheet->getHighestRow();
                //循环获取表中的数据,$currentRow表示当前行,从哪行开始读取数据,索引值从0开始

                for($currentRow=1;$currentRow<=$allRow;$currentRow++){
                    //从哪列开始,A表示第一列
                    for($currentColumn='A';$currentColumn<=$allColumn;$currentColumn++){
                        //数据坐标
                        $address=$currentColumn.$currentRow;
                        //读取到的数据,保存到数组$arr中
                        $arr[$currentRow][$currentColumn]=$currentSheet->getCell($address)->getValue();
                    }

                }
                var_dump($arr);exit;
            }
        }

用的phpexcel类下载

这里需要注意的是,得判断一下是xls还是xlsx,

随机浏览