使用phpExcel导出参见另一篇文章     使用PHPExcel插件导出

本示例基于tp5框架操作,正文如下:

1.加入phpExcel到项目中

        phpExcel获取的方式有很多,GitHub、百度、或者本站(https://www.ainixch.cn/download-39.html)

        如果是tp5,可以防止vendor、extend目录下,自行操作,

        tp5使用phpExcel参见 使用PHPExcel插件导出前面部分


2.使用phpExcel

    如下:

    

    class Excel extends Admin{
    public static function inport_group($file){
        //导入phpexcel
        vendor("PHPExcel.PHPExcel");
        //取消uploads前面的斜线,不然路径有错可以忽略此操作
        $file=str_replace('/uploads/', 'uploads/', $file);
        $objPHPExcel = new \PHPExcel();
        $extension = strtolower(pathinfo($file, PATHINFO_EXTENSION));//判断导入表格后缀格式
        if($extension == 'xlsx') {
            $objReader =\PHPExcel_IOFactory::createReader('Excel2007');
            $objPHPExcel =$objReader->load($file, $encode = 'utf-8');
        }else if($extension == 'xls'){
            $objReader =\PHPExcel_IOFactory::createReader('Excel5');
            $objPHPExcel =$objReader->load($file, $encode = 'utf-8');
        }
        if(!$objPHPExcel){
            return ['code'=>0,'msg'=>'文件打开失败','url'=>url('group/index'),'wait'=>3];
        }
        $sheet = $objPHPExcel->getSheet(0);
        $highestRow = $sheet->getHighestRow();//取得总行数
        $highestColumn = $sheet->getHighestColumn(); //取得总列数
        for($i=2;$i<=$highestRow;$i++){
            $data['cate']     = $objPHPExcel -> getActiveSheet() -> getCell("A".$i)->getValue();
            $data['cate_nd']  = $objPHPExcel -> getActiveSheet() -> getCell("B".$i)->getValue();
            $data['name']     = $objPHPExcel -> getActiveSheet() -> getCell("C".$i)->getValue();
            $data['name_jx']  = $objPHPExcel -> getActiveSheet() -> getCell("D".$i)->getValue();
            $data['site']     = $objPHPExcel -> getActiveSheet() -> getCell("E".$i)->getValue();
            $data['vdt']      = $objPHPExcel -> getActiveSheet() -> getCell("F".$i)->getValue();
            $data['disvdt']   = $objPHPExcel -> getActiveSheet() -> getCell("G".$i)->getValue();
            $data['key']      = $objPHPExcel -> getActiveSheet() -> getCell("H".$i)->getValue();
            $data['tel']      = $objPHPExcel -> getActiveSheet() -> getCell("I".$i)->getValue();
            $data['location'] = $objPHPExcel -> getActiveSheet() -> getCell("J".$i)->getValue();
            $data['construct']= $objPHPExcel -> getActiveSheet() -> getCell("K".$i)->getValue();
            $data['status']=1;
            $data['add_time']=time();
            $allData[] = $data;
        }
        $nums=$i-2;
        $msg="导入成功,共导入".$nums."条数据";
        //批量插入数据
        $res=Db::name('group_group')->insertAll($allData);
        if($res){
           return ['code'=>1,'msg'=>$msg,'url'=>url('group/index'),'wait'=>3];
        }
}

}


最后修改:2019 年 06月 26日 15:28:47

文章声明:非特殊说明,本文版权归 凌萍分享 所有,转载请注明出处
本文标题:PHPExcel导入数据
本文标签:excel,导入
如果觉得本篇文章对你有用,请随意赞赏;赞赏将用于服务器、域名开支