Questo script trovato in rete mi permette di generare un file excel dei dati che passo con php, fin qui tutto ok, il mio problema è il seguente:

1- quando genera il file mi viene inserita 1 riga vuota prima delle etichette e due dopo, come faccio per evitarlo ? non è molto importate, ma se si può fare è ancora meglio;
2- apro il link in una popup, quello che vorrei e che al termine della conversione si chiuda la popup. Ho provato a mettere window.close() ma niente da fare, ancora meglio se la popup non viene aperta mi compaia direttamente la richiesta di salvataggio file.

Codice PHP:
function xlsBOF() {
        echo 
pack("ssssss"0x8090x80x00x100x00x0);
        return;
    }
  
    function 
xlsEOF() {
        echo 
pack("ss"0x0A0x00);
        return;
    }

    function 
xlsWriteLabel($Row$Col$Value ) {
        
$L strlen($Value);
        echo 
pack("ssssss"0x204$L$Row$Col0x0$L);
        echo 
$Value;
        return;
    }

    include (
"inc/connessione.php");
    
$sql "SELECT  r.data_riparazione,a.modello,r.tecnico,r.guasto
        FROM t_riparazioni r INNER JOIN t_apparati a
        ON r.id_apparato = a.id_apparato
        WHERE r.stato = '1' ORDER BY r.data_riparazione DESC;"
;
    
    
$rs mssql_query($sql) or die("Errore nel codice della query. ");

    
// Send Header
    
header("Pragma: public");
    
header("Expires: 0");
    
header("Cache-Control: must-revalidate, post-check=0, pre-check=0"); 
    
header("Content-Type: application/force-download");
    
header("Content-Type: application/octet-stream");
    
header("Content-Type: application/download");;
    
header("Content-Disposition: attachment;filename=export_riparazioni_aperte.xls ");
    
header("Content-Transfer-Encoding: binary ");

    
// XLS Data Cell
    
xlsBOF(); 
    
xlsWriteLabel(1,0,"Data riparazione");
    
xlsWriteLabel(1,1,"Modello");
    
xlsWriteLabel(1,2,"Tecnico");
    
xlsWriteLabel(1,3,"Guasto");
    
$xlsRow 4;
    while(list(
$data_riparazione,$modello,$tecnico,$guasto) = mssql_fetch_row($rs)) {
      ++
$i;
        
xlsWriteLabel($xlsRow,0,"$data_riparazione");
        
xlsWriteLabel($xlsRow,1,"$modello");
        
xlsWriteLabel($xlsRow,2,"$tecnico");
        
xlsWriteLabel($xlsRow,3,"$guasto");
      
$xlsRow++;
    }
    
xlsEOF();
    exit();
    
mssql_close($connessione); 
Grazie,
ciao.