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++;
}
很好地工作:)而且行数也得到了处理。。非常感谢:)