ciao!

intendi così?
Codice PHP:
        if ($zonaOld != 'ND' && $zonaOld != $zona) {
            
$xls->setActiveSheetIndex(0)
                    ->
setCellValue('A' $row$zona)
                    ->
setCellValue('B' $row'CLIENTI NUOVI')
                    ->
setCellValue('C' $row'')
                    ->
setCellValue('D' $row'')
                    ->
setCellValue('E' $row'')
                    ->
setCellValue('F' $row'')
                    ->
setCellValue('G' $row'')
                    ->
setCellValue('H' $row'')
                    ->
setCellValue('I' $row'')
                    ->
setCellValue('J' $row'')
                    ->
setCellValue('K' $row'')
                    ->
setCellValue('L' $row$queryBudgetNuovi[0]['bdgn_num_clienti'])
                    ->
setCellValue('M' $row$queryBudgetNuovi[0]['bdgn_proposta'])
                    ->
setCellValue('N' $row$queryBudgetNuovi[0]['bdgn_agente'])
                    ->
setCellValue('O' $row$queryBudgetNuovi[0]['bdgn_note']);
            
$row++;
        }

        
$xls->setActiveSheetIndex(0)
                ->
setCellValue('A' $row$zona)
                ->
setCellValue('B' $row$clienteCodice)
                ->
setCellValue('C' $row$cl['ragsoc'])
                ->
setCellValue('D' $row$tmp1Netto)
                ->
setCellValue('E' $row$tmp1Lordo)
                ->
setCellValue('F' $row$tmp1Qta)
                ->
setCellValue('G' $row$tmp2Netto)
                ->
setCellValue('H' $row$tmp2Lordo)
                ->
setCellValue('I' $row$tmp2Qta)
                ->
setCellValue('J' $row$tmp3Netto)
                ->
setCellValue('K' $row$tmp3Lordo)
                ->
setCellValue('L' $row$tmp3Qta)
                ->
setCellValue('M' $row$tmpProp)
                ->
setCellValue('N' $row$tmpAgente)
                ->
setCellValue('O' $row$tmpNote);
        
$row++;

        
$zonaOld $cl['zona']; 

facendo in questo modo, la riga aggiuntiva per la prima zona non viene scritta.
per le zone successive, mi sembra venga scritta, ma all'inizio della zona e non alla fine.

con il codice precedente, la riga aggiuntiva per la prima zona non viene scritta.
per le zone successive, viene scritta come seconda riga della zona, e non alla fine.