Esportare dati da mysql a excel tramite script php

Quello che vorrei fare è esportare su un file excel il contenuto di una query... ho cercato in rete, ma quando creo lo script riesco solo a visualizzare l'output su explorer, ma non mi effettua il salvataggio nel file excel! Questo codice è quello da cui sono partito... ho trovato questo script in rete, ma quando carico la pagina l'effetto non è quello desiderato, nel senso che non mi salva il file ma mi fa solo vedere la tabella...

<?php
   $filename="sheet.xls";
   header ("Content-Type: application/vnd.ms-excel");
   header ("Content-Disposition: inline; filename=$filename");
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html lang=it><head>
<title>Titolo</title></head>
<body>
<table border="1">
<?
for ($i=1;$i < 11; $i++)
{
   echo "<tr>";
   for ($j=1; $j<11;$j++)
   {
      $a = $i * $j;
      echo "<td>$a</td>";
   }
   echo "</tr>";
}
?>
</table>
</body></html>

non so se manca qualcosa nel codice o se il problema è un altro, ma quello che servirebbe a me è proprio l'apertura o salvataggio di un file excel contenente i miei dati! Grazie in anticipo! Ciao.

inviato 11 anni fa
actarus1981
X 0 X

prova a sostituire il primo blocco di codice con:

<?php
   $filename="sheet.xls";
   header("Content-Type: application/octet-stream");
   header("Content-Disposition: attachment; filename=\"$filename\"")
?>

 :bye:

risposto 11 anni fa
Gianni Tomasicchio
X 0 X

Grazie... ora funziona!!! EVVIVA  O0

risposto 11 anni fa
actarus1981
X 0 X

Ciao a tutti ho anch'io lo stesso problema di esportare dati in un file di excel. Il codice è questo:

<?php

$filename="esporta.xls";

   header("Content-Type: application/octet-stream");

   header("Content-Disposition: attachment; filename=\"$filename\")

mysql_connect("localhost","db_user","db_pass")

                or die("Impossibile connetersi a Mysql!");

mysql_select_db("testdb");

echo"<TABLE>"

echo"<tr><td>nome</td><td>cognome</td><td>indirizzo</td></tr>";

$dati=mysql_query("select * from anagrafica");

$NumEntries=mysql_num_rows($dati);

while($array=mysql_fetch_array($dati)){

    $id = $array['id'];

    $nome= $array['nome'];

    $cognome= $array['cognome'];

 echo"<tr><td>IDENTIFICATIVO</td><td>Nome</td><td>Cognome</td></tr>";

       echo "<TR><td>$id</td><td>$nome</td><td>$cognome</td>";

}

echo"</TABLE>";

?>

Perche mi viene aperto solo il file esporta.xls ma vuoto (a parte che mi da un errore di parser in linea 10)??

Grazie in anticipo per l'aiuto

risposto 10 anni fa
bluesman70
X 0 X

se non risolvi il parser error non puoi pretendere che lo script funzioni...

comunque l'errore sta nel secondo header, che devi cambiare così:

header("Content-Disposition: attachment; filename=\"$filename\"");

 :bye:

risposto 10 anni fa
Gianni Tomasicchio
X 0 X
Effettua l'accesso o registrati per rispondere a questa domanda