PHPExcel下载

https://www.isres.com/file/PHPExcel.zip

解压放到 /vendor 目录下

读取的方法

private function read_excel($file)
    {
        $ext = strtolower(pathinfo($file, PATHINFO_EXTENSION));
        vendor("PHPExcel.PHPExcel");
        $objReader = null;
        switch ($ext) {
            case 'xlsx':
                $objReader = new \PHPExcel_Reader_Excel2007();
                break;
            case 'xls':
                $objReader = new \PHPExcel_Reader_Excel5();
                break;
            case 'csv':
                $objReader = new \PHPExcel_Reader_CSV();
                $objReader->setInputEncoding('GBK'); //解决中文问题
                $objReader->setDelimiter(',');
                break;
            default:
                $objReader = null;
        }
        if(empty($objReader)) return $ext.' ext error';
        $objPHPExcel = $objReader->load($file,$encode='utf-8');//获取excel文件
        return $objPHPExcel;
    }

使用过程

   /**
     * 行政表格 返回无线权限的用户
     * @param $file
     * @return array
     * @throws \PHPExcel_Exception
     */
    private function get_mobile_wifi_arr($file){
        $data = $this->read_excel($file);
        //表1 手机wifi
        $sheet0 = $data->getSheet(1);
        $s0_rows_count = $sheet0->getHighestRow();
        $s0_col_count = $sheet0->getHighestColumn();
        $s0_result = [];
        //跳过第一行总标题 第二行表头
        for($i=3;$i<$s0_rows_count;$i++){
            $_rs['user'] = $this->check_isobj($sheet0->getCell("D".$i)->getValue());
            $_rs['wifi_pc'] =  $this->check_isobj($sheet0->getCell("G".$i)->getValue());
            $_rs['mobile'] =  $this->check_isobj($sheet0->getCell("H".$i)->getValue());
            $_rs['pad'] =  $this->check_isobj($sheet0->getCell("I".$i)->getValue());
            array_push($s0_result,$_rs);
        }
        return $s0_result;
    }

有格式的单元格内容

/**
     * 如果是对象,需要清除各种格式信息只要值
     * @param $value
     * @return string
     */
    private function check_isobj($value){
        if(is_object($value))return (string)$value;
        return $value;
    }