removeRow() 没有像 phpExcel 中预期的那样删除行

removeRow() not removing rows as expected in phpExcel

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

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++;
   }