tp3.2的导入,判断失败信息然后导出

//pos模板
public function posmb(){
ini_set(‘memory_limit’,‘1024M’);
if (!empty($_FILES)) {
$config = array(
‘exts’ => array(‘xlsx’,‘xls’),
‘maxSize’ => 3145728000,
‘rootPath’ =>"./Public/",
‘savePath’ => ‘Uploads/’,
‘subName’ => array(‘date’,‘Ymd’),
);
KaTeX parse error: Expected 'EOF', got '\Think' at position 14: upload = new \̲T̲h̲i̲n̲k̲\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));//判断导入表格后缀格式
    // print_r($extension);die;
    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(); //取得总列数
        
    //导入  //ip flag description
       $a=0;
       $b=0;
       $c=0;
       $d=0;
       $e=0;
       $f=0;
       $g=0;
       $h=0;  
       $j=0;
       $fdata = array();//记录他的错误信息
    for ($i = 2; $i <= $highestRow; $i++) {//for循环
        //看这里看这里,前面小写的a是表中的字段名,后面的大写A是excel中位置
        $data['pos_id'] =$objPHPExcel->getActiveSheet()->getCell("A" . $i)->getValue();
        $data['type'] =$objPHPExcel->getActiveSheet()->getCell("B" .$i)->getValue();
        $data['brand_id'] =$objPHPExcel->getActiveSheet()->getCell("C" .$i)->getValue();
        $data['imei'] =$objPHPExcel->getActiveSheet()->getCell("D" .$i)->getValue();
        $data['pos_en'] =$objPHPExcel->getActiveSheet()->getCell("E" .$i)->getValue();
        $data['status'] =$objPHPExcel->getActiveSheet()->getCell("F" .$i)->getValue();
        $data['business'] =$objPHPExcel->getActiveSheet()->getCell("G" .$i)->getValue();
        $data['price'] =$objPHPExcel->getActiveSheet()->getCell("H" .$i)->getValue();
        $data['add_time'] =$objPHPExcel->getActiveSheet()->getCell("I" .$i)->getValue();
        $data['consignee'] =$objPHPExcel->getActiveSheet()->getCell("J" .$i)->getValue();
        $data['remark'] =$objPHPExcel->getActiveSheet()->getCell("K" .$i)->getValue();
       
        $data1=$data['pos_id'];//设备id
        $data2=$data['type'];//类型
        $data3=$data['brand_id'];//品牌
        $data4=$data['imei'];//imet
        $data5=$data['pos_en'];//唯一标识号
        $data6=$data['status'];//机具
        $data7=$data['business'];//
        $data8=$data['price'];//价格
        $data9=$data['add_time'];//机具号 
        $data10=$data['consignee'];//收货人
        $data11=$data['remark'];//备注
        $aid = $this->getnextcode("zzk_tpos",11);//orclar自增id 

        $pos = M("zzk_tpos");
            //添加失败信息
       
         if($data1==''){
            // $this->error("设备ID不能为空!");
            $a++;
            $res=false;
            $fdata[] = $data;
            
            continue;
        }
        if($data3=='')
        {   
            $b++;
            $res=false;
            $fdata[] = $data;
            
            continue;
            // $this->error("POS品牌不能为空!");
        }
        if($data4=='')
        {   
            $c++;
            $res=false;
            $fdata[] = $data;
            
            continue;
            // $this->error('IMEI不能为空!');
        }
        if($data5=='')
        {   
            $d++;
            $res=false;
            $fdata[] = $data;
            
            continue;
            // $this->error('pos唯一标识不能为空!');
        }
        if($data8=='')
        {   
            $e++;
            $res=false;
            $fdata[] = $data;
            
            continue;
            // $this->error("POS价格不能为空!");
        }
        if($data10=='')
        {   
            $f++;
            $res=false;
            $fdata[] = $data;
            continue;
            // $this->error('收货人不能为空!');
        }
        
        
        
$sql="insert into zzk_tpos(aid,pos_id,type,brand_id,imei,pos_en,status,business,price,add_time,consignee,remark) values
    ('".$aid."','".$data1."','".$data2."','".$data3."','".$data4."','".$data5."','".$data6."','".$data7."','".$data8."','".$data9."','".$data10."','".$data11."')";//sql添加数据

    //插入数据库
$res = $pos->execute($sql);

}
// print_r($fdata);die;

$count=$a+$b+$c+$d+$e+$f+$g+$h;

//判断是否存在失败数据
if($res){
    $j++;
    $this->success('添加成功'.'成功'.$j.'条'.'失败'.$count.'条',U("Machines/poscontrol"));
}else{//导出
    $fdata[] = $data; 
 
    $strlist = 'pos_id,type,brand_id,imei,pos_en,status,business,price,add_time,consignee,remark';
    $strlist.="\n";
    foreach ( $fdata as $key => $val) {
   
        $strlist.=$val['pos_id']."\t,".$val['type']."\t,".$val['brand_id']."\t,".$val['imei']."\t,".$val['pos_en']."\t,".$val['status']."\t,".$val['business'];
        $strlist.=','.$val['price']."\t,".$val['add_time']."\t,".$val['consignee']."\t,".$val['remark']."\n";

    }
    $filename ='pos配置报表'.date('YmdHis',time());
  //  $filename=iconv('utf-8','utf-8',$filename);
    // continue ;
    $this->load_csv($strlist,$filename);die;
}



} else {
 $this->error("请选择上传的文件");
}

}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值