Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2010
    Messaggi
    80

    PHP - Esportare i risultati di una query in open office

    Salve,
    Vi pongo il mio (ennesimo) quesito. Io ricavo una tabella di risultati da una query php, successivamente tale tabella viene esportata in xls attraverso il seguente codice:

    Codice PHP:
    <?php 

    $nomefile 
    "elenco.xls";
    header ("Content-Type: application/vnd.ms-excel");
    header ("Content-Disposition: inline; filename=$nomefile");

    /* Connessione e selezione del database */
    $connessione mysqli_connect("_______""_____""_______""______")
    or die(
    "Connessione non riuscita");
    /* Esecuzione di una query SQL */
    $query "SELECT DISTINCT * FROM lavori";$risultato mysqli_query($connessione,$query) or die("Query fallita");
    /* Stampa dei risultati in HTML */
    print "<table>\n";

    echo 
    "<table border =\"1\" cellspacing=\"0\" width=\"1400\">
    <TR>
    <TH>ID</TH>
    <TH>NOME</TH>
    <TH>COMMITTENTE</TH>
    <TH>LUOGO</TH>
    <TH>DESCRIZIONE</TH>
    <TH>PRESTAZIONI</TH>
    <TH>TIPO</TH>
    <TH>CATEGORIA</TH>
    </TR>"
    ;

    while (
    $linea mysqli_fetch_array($risultatoMYSQLI_ASSOC)) {
    extract ($linea);


    echo 
    " <td>$ID</td>";
    echo 
    " <td>$NOME</td>";
    echo 
    " <td>$COMMITTENTE</td>";
    echo 
    " <td>$LUOGO</td>";
    echo 
    " <td>$DESCRIZIONE</td>";
    echo 
    " <td>$PRESTAZIONI_NORMATIVA</td>";
    echo 
    " <td>$TIPO_COMMITTENTE</td>";
    echo 
    " <td>$CATEGORIA</td></tr>";


    echo 
    "</table>"
    /* Liberazione delle risorse del risultato */
    mysqli_free_result($risultato);
    /* Chiusura della connessione */
    mysqli_close($connessione);


    ?>
    Se apro il tutto con Microsoft excel è tutto a posto (ovviamente i valori numerici eventuali vengono trasformati in testo, per ovviare a questo problema devo ancora lavorarci parecchio), il problema sorge con open office poichè la tabella che mi si apre è completamente vuota.
    Qualche anima buona sa spiegarmi perchè mai????

  2. #2
    forse ti manca il echo "<tr>" all'inizio del while? Controlla se l'html risultante è corretto. =)

  3. #3
    Utente di HTML.it
    Registrato dal
    Feb 2010
    Messaggi
    80
    Secondo te incide????

    Come ti ripeto con Microsoft Office funziona tutto benissimo, il mio problema è che con Open Office la tabella viene vuota... ora vado a mangiare e poi faccio immediatamente la prova, anche se credo che l'echo non ci vada davanti al while, ma al solito quello che credo io ha poco a che vedere con la realtà del php ;-(

  4. #4
    Il php non c'entra tanto in questo caso.
    Hai una struttura del genere:

    Mysql->PHP->HTML*->Excel

    Il problema in questo caso è HTML->Excel (anzi openexcel).

    L'html, essendo un linguaggio di markup e non di programmazione, è un pò bastardo. Perché se ci sono errori dentro di esso, il risultato dell'interprete è del tutto imprevedibile (visto che non ti segnala errori, interpreta "a modo suo" quello che gli hai mandato in pasto).

    Non conosco le specifiche di Open Excel e quali sono le caratteristiche affinché un html (xml) sia leggibile. Se non dovesse funzionare, prova a creare manualmente i files html con poche righe e vedere se open excel li legge correttamente.

  5. #5
    Utente di HTML.it
    Registrato dal
    Feb 2010
    Messaggi
    80
    Grazie per la tua cortesia...

    Anch'io penso sia un problema di interpretazione, in realtà come vedi, effettivamente la mia query stampa dei risultati in html, più tardi provo con il tuo primo suggerimento e poi con il tuo secondo, se poi il problema continua magari faccio anche una domanda su qualche forum per open office. All'inizio io pensavo che l'errre fosse nel content-type e che per openoffice application/vnd.ms-excel non sia l'interprete corretto (scusate il linguaggio poco tecnico ma io mi occupo di tutt'altro...). A presto con le novità

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.