После долгих проб и ошибок мне удалось получить результат.Чтобы достичь своей цели, я вынул 'IF' из цикла и добавил его после.Таким образом, если нет данных, выполняется следующее и добавляет строку, однако она всегда добавляет строку, даже если есть данные.Таким образом, не делая то, что я спросил, т.е. проверьте данные в цикле и введите значение, а затем больше.Но это дает мне удовлетворительный результат. Спасибо Эндрю за вклад.
//Monday
$sql="SELECT StaffName, MonStart, MonFInish, MonA FROM print_signin_mon where AreaID=
'$AreaID'";
$rsSql=db_query($sql,$conn);
$baseRow = 6;
$r=0;
while ($data2 = db_fetch_array($rsSql)){
$row = $baseRow + $r;
$spreadsheet->getActiveSheet()->insertNewRowBefore($row, 1);
//
$spreadsheet->getActiveSheet()->setCellValue('A' . $row, $r + 1)
->setCellValue('B' . $row, $data2['StaffName'])
->setCellValue('E' . $row, $data2['MonStart'])
->setCellValue('G' . $row, $data2['MonFInish'])
->setCellValue('M' . $row, $data2['MonA'])
->setCellValue('N' . $row, '..');
$r= $r+1;
}
// $spreadsheet->getActiveSheet()->removeRow($baseRow - 1, 1);
//if (empty($data2['StaffName'])) {
if(empty(array_column($rsSql,'StaffName'))) {
$row = $baseRow + $r;
$spreadsheet->getActiveSheet()->insertNewRowBefore($row, 1);
$spreadsheet->getActiveSheet()->setCellValue('A' . $row, $r + 1)
->setCellValue('B' . $row, '');
//$r++;
$spreadsheet->getActiveSheet()->removeRow($baseRow - 1, 1);
//continue;
}
//END Monday