PHPExcel上传文件

本文介绍了一个使用PHP实现的Excel文件上传及数据解析的方法。通过设置文件上传路径、限制允许的文件类型并利用PHPExcel库来读取Excel文件内容,最终将数据读取到PHP变量中,为后续的数据处理或数据库存储做准备。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 public function up()
        {
            $config['upload_path']="./uploads/source/excel/".date("Ymd");//文件上传目录        
            if(!file_exists("./uploads/source/excel/".date("Ymd"))){            
            mkdir("./uploads/source/excel/".date("Ymd"),0777,true);//原路径        
            }        
            $config['allowed_types']    = 'xls|xlsx';//允许上传后缀
            $config['file_name'] = time();      
            $this->load->library('upload', $config);//导入上传类        
            if ( ! $this->upload->do_upload('file'))        
            {     var_dump(111);die;     
                $this ->form_validation->set_message('upload_excelfile_check' , $this->upload->display_errors());//返回报错信息到view            
                return false;
            }else{            
                $data = $this->upload->data();//执行上传            //下面两个是phpexcel需要的,存在session方便调用,上传成功要unset掉            
                //$_SESSION['upload_excelfile_path']=$config['upload_path'].'/'.$data['file_name']; //文件名            
                //$_SESSION['upload_excelfile_ext']=$data['file_ext'];//后缀
                $filename =  $config['upload_path'].'/'.$data['file_name'];
                $exts =   $data['file_ext'];   
            }
            $this->handle($filename,$exts); 
        }

        public function handle($filename, $exts='xls'){
            var_dump($filename);
            var_dump($exts);
            $this->load->library('PHPExcel');  //注意路径            
            //创建PHPExcel对象           
            $PHPExcel=new PHPExcel();            //如果excel文件后缀名为.xls,导入这个类            
            if($exts == '.xls'){                
                $this->load->library('/PHPExcel/Reader/PHPExcel_Reader_Excel5');                
                $PHPReader=new PHPExcel_Reader_Excel5();             
            }else if($exts == '.xlsx'){                
                $this->load->library('/PHPExcel/Reader/PHPExcel_Reader_Excel2007');//我修改了文件名,让类名和文件名相统一
                $PHPReader=new PHPExcel_Reader_Excel2007();              
            } 
            $PHPExcel=$PHPReader->load($filename);                   
            $currentSheet=$PHPExcel->getSheet(0);                     //获取表中的第一个工作表,如果要获取第二个,把0改为1,依次类推 
            $allColumn=$currentSheet->getHighestColumn();             //获取总列数             
            $allRow=$currentSheet->getHighestRow();            //获取总行数  
            //循环获取表中的数据,$currentRow表示当前行,从哪行开始读取数据,索引值从0开始            
            for ($i = 2; $i <= $allRow; $i++) {  
                $data_p['name'] =$PHPExcel->getActiveSheet()->getCell("A" . $i)->getValue();  
                $data_p['tel'] =$PHPExcel->getActiveSheet()->getCell("B" .$i)->getValue(); 
                //$result = 插入数据库 ;  //每循环一次存一次这样就不会后面的数据被覆盖了
            } 
            var_dump($data_p);die;
          
              
        }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值