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", 0x809, 0x8, 0x0, 0x10, 0x0, 0x0);
return;
}
function xlsEOF() {
echo pack("ss", 0x0A, 0x00);
return;
}
function xlsWriteLabel($Row, $Col, $Value ) {
$L = strlen($Value);
echo pack("ssssss", 0x204, 8 + $L, $Row, $Col, 0x0, $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.