CI框架PHPExcel上传文件

来源:互联网 发布:java马士兵整套视频 编辑:程序博客网 时间:2024/06/02 00:39
 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;                                }