PHP导入Excel文件后缀xlsx与xls的处理问题

本文介绍了一个使用PHP实现的Excel数据导入功能,详细展示了如何通过PHPExcel库读取上传的Excel文件,包括xlsx和xls两种格式,并将数据转换为数组进行处理。
public function importData(){
        //先执行文件上传
        $file = $this->request->file('files');//获取表单上传文件
        if(empty($file)){ 
            $this->error('请选择上传文件'); 
        }else{
            //移动到框架应用根目录public/excel
            $info = $file->move(ROOT_PATH . 'public' . DS . 'Excel');
            if($info){ 
                $file_name = ROOT_PATH . 'public' . DS . 'Excel' . DS . $info->getsaveName();
                 //判断导入表格后缀格式
                $extension = strtolower(pathinfo($file_name, PATHINFO_EXTENSION));
                vendor("PHPExcel.PHPExcel"); 
                $objPHPExcel = new \PHPExcel();
                if($extension == 'xlsx'){
                    //xlsx后缀
                    $objReader = \PHPExcel_IOFactory::createReader('Excel2007');
                }else{
                    //xls后缀
                    $objReader = \PHPExcel_IOFactory::createReader('Excel5');
                }

                //加载文件内容,编码utf-8
                $obj_PHPExcel = $objReader->load($file_name, $encode = 'utf-8'); 
                $excel_array = $obj_PHPExcel->getsheet(0)->toArray();   //转换为数组格式

                array_shift($excel_array);  //删除第一个数组(标题);
                
                foreach ($excel_array as $key => $value) {
                    //根据需求处理
                    
                }


            }else{
                //上传失败获取错误信息 
                $this->error($file->getError()); 
            }
        }
    }

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

木子李0531

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值