Visualizzazione dei risultati da 1 a 7 su 7

Discussione: Excel issue

  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2009
    Messaggi
    16

    Excel issue

    ciao,

    sto esportando dei dati da una tabella in php in excel usando :

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

    Il file xls viene creato ma quando tento di aprirlo mi dice che è in un differente....
    Appena lo apro la mia tabella è esportata ma il foglio excel si presenta con sfondo senza le gridilines!

    Mi potete aiutare per far si di avere una corretta visualizzazione con le gridelines?

  2. #2
    Utente di HTML.it L'avatar di jeppox
    Registrato dal
    Mar 2007
    Messaggi
    436
    in fondo non fai altro che creare un file .html con tanto di charset ecc... quindi è sufficiente che la dove crei la tabella gli dai un border:

    <table cellspacing='1' cellpadding='2' border='1'>

  3. #3
    Utente di HTML.it
    Registrato dal
    Nov 2009
    Messaggi
    16
    Ciao,

    ho provato ma il risultato non cambia.
    La tabella e i bordi vengono visualizzati bene nel file excel ma tutto il resto del foglio excle rimane bianco senza gridlines.

    Esiste la possibilità di settare questa proprietà di excel usando del codice php?

  4. #4
    Utente di HTML.it L'avatar di jeppox
    Registrato dal
    Mar 2007
    Messaggi
    436
    posta il codice di come generi il file xls...

    cambiare le impostazioni del client via exec() ecc... secondo me non è necessario e poi hai bisogno del consenso dell'utente che approvi l'operazione.
    Non ti conviene offrire il file .xls quale download?

  5. #5
    Utente di HTML.it
    Registrato dal
    Nov 2009
    Messaggi
    16
    Ecco il codice :

    $filename="tabella.xls";
    header ("Content-Type: application/vnd.ms-excel");
    header("Content-disposition: filename=$filename");

    $host="localhost";
    $username="root";
    $password="";
    $db_name="prova";
    $tbl_name="prima";
    mysql_connect("$host", "$username", "$password")or die("cannot connect");
    mysql_select_db("$db_name")or die("NON CONNESSO");

    $ris = mysql_query ("
    SELECT *
    FROM prima
    ORDER BY classe
    ");

    echo "
    <table cellspacing='1' cellpadding='2' border='1'>
    ................................
    ...................
    while ($riga = mysql_fetch_row($ris)){
    $tot= $riga[1]+$riga[2]+$riga[3];
    .....................
    .......
    echo "</table>" ;

    ?>
    ...............................................
    ...............................

  6. #6
    Utente di HTML.it L'avatar di jeppox
    Registrato dal
    Mar 2007
    Messaggi
    436
    dovresti provare con una struttura di questo tipo... devi stare attento però al charset, dipende come salvi i dati nel DB, ev. cambi in ISO-8859-1:

    Codice PHP:
    $ris mysql_query ("SELECT * FROM prima ORDER BY classe");

    // crei l'header del file
    $string "
    <!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">
    <html>
    <head>
    <title>Title</title>
    <meta http-equiv=\"content-type\" content=\"text/html; charset=utf-8\">
    </head>
    <body>
    <table cellspacing='1' cellpadding='2' border='1'>
    "
    ;

    // crei le colonne 
    $fieldnames = array();
    $fieldnames[] = "Field1";
    $fieldnames[] = "Field2";
    $fieldnames[] = "Field3";

    // apri riga
    $string .= "<tr>";

    // loop per le celle/colonne
    foreach($fieldnames as $fieldname) {
        
    $string .=     "<td>$fieldname</td>";            
    }
    $string .= "</tr>";

    // loop delle righe
    while ($riga mysql_fetch_row($ris)) {
        
    $string .= "<tr>";
        
    $string .= "<td>Cell1</td>";
        
    $string .= "<td>Cell2</td>";
        
    $string .= "<td>Cell3</td>";
        
    $string .= "</tr>";
    }

    $string .= "
    </table>
    </body>
    </html>
    "
    ;

    print 
    $string

  7. #7
    Utente di HTML.it
    Registrato dal
    Nov 2009
    Messaggi
    16
    Perfetto ti ringrazio!

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 © 2025 vBulletin Solutions, Inc. All rights reserved.