星空2020 2022-11-12 15:04 采纳率: 64.1%
浏览 27
已结题

phpexcel导入数据时如何过滤空行?

如下代码在导入后,发现空白行3,4,7,8,9行都被插入到mysql数据库了。
如何修改做到当A列和B列为空值时,整行都不导入?

img

<?php
    //若使用mysql_connect会提示警告信息Deprecated: mysql_connect(): The mysql extension is deprecated and will be removed in the future: use mysqli or PDO instead in F:\wampserver3.1.0_x64\www\MianShi\userImportExcel.php on line 2
    $con = mysqli_connect("localhost","root","root","demo");
    mysqli_query($con ,"set names 'gb2312'");//指定数据库字符集防止中文乱码

    $file = $_FILES['file']['name'];
    $filetempname = $_FILES['file']['tmp_name'];


    //自己设置的上传文件存放路径
    $filePath = './uploadFile/';
    require_once './PHPExcel-1.8/Classes/PHPExcel.php';
    require_once './PHPExcel-1.8/Classes/PHPExcel/IOFactory.php';
    require_once './PHPExcel-1.8/Classes/PHPExcel/Reader/Excel5.php';//excel 2007

    $filename=explode(".",$file);//把上传的文件名以“.”好为准做一个数组。
    $time=date("Y-m-d-H-i-s");//去当前上传的时间
    $filename[0]=$time;//取文件名t替换
    $name=implode(".",$filename); //上传后的文件名
    $uploadfile=$filePath.$name;//上传后的文件名地址

    //move_uploaded_file() 函数将上传的文件移动到新位置。若成功,则返回 true,否则返回 false。
    $result=move_uploaded_file($filetempname,$uploadfile);
    if($result){ //如果上传文件成功,就执行导入excel操作
        $objPHPExcel = PHPExcel_IOFactory::load($uploadfile);
        $sheet = $objPHPExcel->getSheet(0);
        $highestRow = $sheet->getHighestRow(); // 取得总行数
        $highestColumn = $sheet->getHighestColumn(); // 取得总列数


    //循环读取excel文件,读取一条,插入一条
        $str = "";
        for($j=2;$j<=$highestRow;$j++){  //因为Excel第一行和数据表中的字段相对照,所以$j=2代表从Excel的第二行开始。
            for($k='A';$k<=$highestColumn;$k++){
                $str .= iconv("UTF-8","gbk",$objPHPExcel->getActiveSheet()->getCell("$k$j")->getValue()).'\\';//读取单元格
            }
            $strs = explode("\\",$str);
            $sql = "insert into kt(ktname, ktform, ktteacher) values('".$strs[0]."','".$strs[1]."','".$strs[2]."')";
            if(!mysqli_query($con ,$sql)){
                return false;
            }
            $str = "";
        }
        unlink($uploadfile); //删除上传的excel文件
        $msg = "导入成功!";
    }else{
        $msg = "导入失败!";
    }
    echo  $msg;

    

  • 写回答

1条回答 默认 最新

  • CSDN-Ada助手 CSDN-AI 官方账号 2022-11-12 18:15
    关注
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 11月28日
  • 已采纳回答 11月20日
  • 创建了问题 11月12日

悬赏问题

  • ¥20 删除和修改功能无法调用
  • ¥15 kafka topic 所有分副本数修改
  • ¥15 小程序中fit格式等运动数据文件怎样实现可视化?(包含心率信息))
  • ¥15 如何利用mmdetection3d中的get_flops.py文件计算fcos3d方法的flops?
  • ¥40 串口调试助手打开串口后,keil5的代码就停止了
  • ¥15 电脑最近经常蓝屏,求大家看看哪的问题
  • ¥60 高价有偿求java辅导。工程量较大,价格你定,联系确定辅导后将采纳你的答案。希望能给出完整详细代码,并能解释回答我关于代码的疑问疑问,代码要求如下,联系我会发文档
  • ¥50 C++五子棋AI程序编写
  • ¥30 求安卓设备利用一个typeC接口,同时实现向pc一边投屏一边上传数据的解决方案。
  • ¥15 SQL Server analysis services 服务安装失败