removeRow()未按预期在phpExcel中删除行

removeRow()未按预期在phpExcel中删除行,php,loops,foreach,phpexcel,Php,Loops,Foreach,Phpexcel,我尝试删除空行[实际上是不符合条件的行]。 这就是我所尝试的: if(null !== ($this->f3->get('SESSION.userStatus'))) { $userStatus = $this->f3->get('SESSION.userStatus'); } $rowID = 5; foreach ($results as $result) { if($result['status'] == $userStatus)

我尝试删除空行[实际上是不符合条件的行]。 这就是我所尝试的:

if(null !== ($this->f3->get('SESSION.userStatus')))
{
    $userStatus =  $this->f3->get('SESSION.userStatus');
}

$rowID = 5;
foreach ($results as $result) 
   {
     if($result['status'] == $userStatus)
     {
        $objPHPExcel->getActiveSheet()->setCellValue('A'.$rowID, $result['fullname']);
        $objPHPExcel->getActiveSheet()->setCellValue('B'.$rowID, $result['checkin_date']);
     }
   else
     {
        $objPHPExcel->getActiveSheet()->removeRow($rowID);
     }
     $rowID++;
   }
但我还是得到了空行:

       A   |  B   |  C  |  D
  1        |      |     |
  .
  .
  174      |      |     |
  175      |      |     |
  176      |      |     |
  177      |      |     |
  178 John |  2014| xyz | dfdf
  179 Jack |  2015| jkl | dfdf
  180      |      |     |
  .
  .

我怎样才能摆脱那些空行?行号其实并不重要,我需要做的就是去掉那些空白行。请帮我做这个……谢谢。

您仍在增加rowID,这就是为什么您有空行

if(null !== ($this->f3->get('SESSION.userStatus')))
{
    $userStatus =  $this->f3->get('SESSION.userStatus');
}

$rowID = 5;
foreach ($results as $result) 
   {
     if($result['status'] == $userStatus)
     {
        $objPHPExcel->getActiveSheet()->setCellValue('A'.$rowID, $result['fullname']);
        $objPHPExcel->getActiveSheet()->setCellValue('B'.$rowID, $result['checkin_date']);
     }
   else
     {
        $objPHPExcel->getActiveSheet()->removeRow($rowID);
        continue;
     }
     $rowID++;
   }
很好地工作:)而且行数也得到了处理。。非常感谢:)