tp3.2 excel 导入

//引入文件上传类

use PHPExcel_IOFactory;
use PHPExcel;
use Behavior;

 

public function upload() {
        ini_set('memory_limit','1024M');
        if (!empty($_FILES)) {
            $config = array(
                'exts' => array('xlsx','xls'),
                'maxSize' => 3145728000,
                'rootPath' =>"./Public/",
                'savePath' => 'Uploads/',
                'subName' => array('date','Ymd'),
            );
            //上传路径
            $upload = new \Think\Upload($config);
            if (!$info = $upload->upload()) {
                $this->error($upload->getError());
            }
            //导入文件类
            vendor("PHPExcel.PHPExcel");
            $file_name=$upload->rootPath.$info['photo']['savepath'].$info['photo']['savename'];
            $extension = strtolower(pathinfo($file_name, PATHINFO_EXTENSION));//判断导入表格后缀格式
            if ($extension == 'xlsx') {
                $objReader =\PHPExcel_IOFactory::createReader('Excel2007');
                $objPHPExcel =$objReader->load($file_name, $encode = 'utf-8');
            } else if ($extension == 'xls'){
                $objReader =\PHPExcel_IOFactory::createReader('Excel5');
                $objPHPExcel =$objReader->load($file_name, $encode = 'utf-8');
            }
            $sheet =$objPHPExcel->getSheet(0);
            $highestRow = $sheet->getHighestRow();//取得总行数
            $highestColumn =$sheet->getHighestColumn(); //取得总列数
            M('article_zhiye')->execute('truncate table pro_info'); //每次导入清空原有的数据
            for ($i = 2; $i <= $highestRow; $i++) {
                                //看这里看这里,前面小写的a是表中的字段名,后面的大写A是excel中位置
                $data['title'] =$objPHPExcel->getActiveSheet()->getCell("A" .$i)->getValue();
                $data['cat_id'] =$objPHPExcel->getActiveSheet()->getCell("B" .$i)->getValue();
                $data['jobgrade'] =$objPHPExcel->getActiveSheet()->getCell("C" .$i)->getValue();
                $data['codename'] =$objPHPExcel->getActiveSheet()->getCell("D" .$i)->getValue();
                $data['huikaono'] =$objPHPExcel->getActiveSheet()->getCell("E" .$i)->getValue();
                $data['areas'] =$objPHPExcel->getActiveSheet()->getCell("F" .$i)->getValue();
                $data['address'] =$objPHPExcel->getActiveSheet()->getCell("G" .$i)->getValue();
                $data['unitjob'] =$objPHPExcel->getActiveSheet()->getCell("H" .$i)->getValue();
                $data['mobile'] =$objPHPExcel->getActiveSheet()->getCell("I" .$i)->getValue();
                $data['tel'] =$objPHPExcel->getActiveSheet()->getCell("J" .$i)->getValue();
                $data['zip'] =$objPHPExcel->getActiveSheet()->getCell("K" .$i)->getValue();
                $data['jobtype'] =$objPHPExcel->getActiveSheet()->getCell("L" .$i)->getValue();
                $data['gender'] =$objPHPExcel->getActiveSheet()->getCell("M" .$i)->getValue();
                $data['diqu'] =$objPHPExcel->getActiveSheet()->getCell("N" .$i)->getValue();
                //看这里看这里,这个位置写数据库中的表名
                M('article_zhiye')->add($data);
            }
            $this->success('导入成功!');
        } else {
            $this->error("请选择上传的文件");
        }
    }

你可能感兴趣的:(tp3.2 excel 导入)