Pagina 1 di 4 1 2 3 ... ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 37

Discussione: Creazione file .xls

  1. #1

    Creazione file .xls

    Ciao a tutti.
    Vorrei sottoporvi un problemino.
    Ho 2 tabelle. Voglio creare in maniera automatica uno script che crei un file .xls con due fogli di lavoro al suo interno. Nel foglio1 devo riportare i dati estratti dalla tabella1, mentre nel foglio2 i dati estratti dalla tabella2.
    Fino ad ora sono riuscito solamente a creare un file .xls con i dati estratti da una tabella. Ma non so se è possibile popolare due fogli distinti sempre all'interno dello stesso file.
    Qualcuno sa aiutarmi?

    Grazie a tutti
    JerryLeeLewis

  2. #2

    Re: Creazione file .xls

    Originariamente inviato da JerryLeeLeewis
    Ciao a tutti.
    Vorrei sottoporvi un problemino.
    Ho 2 tabelle. Voglio creare in maniera automatica uno script che crei un file .xls con due fogli di lavoro al suo interno. Nel foglio1 devo riportare i dati estratti dalla tabella1, mentre nel foglio2 i dati estratti dalla tabella2.
    Fino ad ora sono riuscito solamente a creare un file .xls con i dati estratti da una tabella. Ma non so se è possibile popolare due fogli distinti sempre all'interno dello stesso file.
    Qualcuno sa aiutarmi?

    Grazie a tutti
    JerryLeeLewis
    per curiosità mi potresti dire come hai creato il foglio xls in maniera automatizzata??

    per la tua richiesta potresti vedere se PHPExcel ha qualche funzione adatta allo scopo.

  3. #3
    Utente di HTML.it L'avatar di bstefano79
    Registrato dal
    Feb 2004
    Messaggi
    2,520

    Re: Re: Creazione file .xls

    Originariamente inviato da fermat
    per curiosità mi potresti dire come hai creato il foglio xls in maniera automatizzata??

    per la tua richiesta potresti vedere se PHPExcel ha qualche funzione adatta allo scopo.
    quoto con PHPExcel potrai fare

    $objPHPExcel->setActiveSheetIndex(0); //punto al primo foglio
    $objPHPExcel->setActiveSheetIndex(1);//punto al secondo foglio

    etcetc

  4. #4

    Re: Re: Re: Creazione file .xls

    Originariamente inviato da bstefano79
    quoto con PHPExcel potrai fare

    $objPHPExcel->setActiveSheetIndex(0); //punto al primo foglio
    $objPHPExcel->setActiveSheetIndex(1);//punto al secondo foglio

    etcetc
    si però io con phpexcel ad esempio nn riesco a scorrere la tabella in automatico.

  5. #5

    Re: Re: Creazione file .xls

    Originariamente inviato da fermat
    per curiosità mi potresti dire come hai creato il foglio xls in maniera automatizzata??

    per la tua richiesta potresti vedere se PHPExcel ha qualche funzione adatta allo scopo.

    Ciao fermat ti posto tutto lo script che ho creato. Poi naturalmente personalizzalo secondo le tue esigenze.

    <?php
    $connessione = mysql_connect("localhost","root","")or die("Connessione non riuscita: " . mysql_error());
    print ("");

    mysql_select_db("donato", $connessione) or die("Errore nella selezione del database");

    $contr_numero=$_GET['contr_numero'];
    $RAG_SOC=$_GET['RAG_SOC'];

    $filename = "$RAG_SOC'_'$contr_numero'_dettaglio'.xls";
    header ("Content-Type: application/vnd.ms-excel");
    header ("Content-Disposition: inline; filename=$filename");

    ?>

    <!-- iniziamo a costruire la nostra tabella --/>

    <html><head><title>Export</title></head><body>

    <table border="1">
    <tr>

    <th>numero telefonico</th>
    <th>SIM Fonia/Dati</th>
    <th>Servizio blackberry easy mail</th>
    <th>Servizio blackberry Full</th>
    <th>servizio blackberry top mail</th>
    <th>Bundle dati 20 GB*</th>
    <th>Bundle dati 2GB**</th>
    <th>TIM DUO base</th>
    <th>TIM DUO Messaggi (1)</th>
    <th>TIM DUO Messaggi (2)</th>
    <th>TIM DUO Messaggi (3)</th>
    <th>TIM DUO ROMING</th>
    <th>TIM DUO personal DATI</th>
    <th>TWIN CARD business</th>
    <th>TWIN CARD mobile office</th>

    </tr>

    <?php

    $sql="SELECT * FROM sts WHERE contr_numero=$contr_numero"; // selezioniamo i dati dalla nostra tabella
    $query=@mysql_query($sql) or die (mysql_error());

    while ($row=mysql_fetch_array($query)) // ed effettuiamo un ciclo per creare le righe della nostra tabella
    {

    $numero_telefonico = $row['numero_telefonico'];
    $TIPO_LINEA = $row['TIPO_LINEA'];
    $PA4BLACKBERRYEASYMAIL = $row['PA4BLACKBERRYEASYMAIL'];
    $PA4BLACKBERRYFULL = $row['PA4BLACKBERRYFULL'];
    $PA4BLACKBERRYTOPMAIL = $row['PA4BLACKBERRYTOPMAIL'];
    $PA4DATI10GB = $row['PA4DATI10GB'];
    $PA4DATI500MB = $row['PA4DATI500MB'];
    $TIMDUO = $row['TIMDUO'];
    $TIMDUOPLUSMESSAGGI = $row['TIMDUOPLUSMESSAGGI'];
    $TIMDUOPLUSMMSBASIC = $row['TIMDUOPLUSMMSBASIC'];
    $TIMDUOPLUSSMSBASIC = $row['TIMDUOPLUSSMSBASIC'];
    $TIMDUOROAMINGON = $row['TIMDUOROAMINGON'];
    $TIMPERSONALDATI = $row['TIMPERSONALDATI'];
    $TWINCARDBUSINESS = $row['TWINCARDBUSINESS'];
    $TWINCARDMOBILEOFFICE = $row['TWINCARDMOBILEOFFICE'];

    ?>
    <tr>
    <?php

    echo "<td>$numero_telefonico</td>";
    echo "<td>$TIPO_LINEA</td>";
    echo "<td>$PA4BLACKBERRYEASYMAIL</td>";
    echo "<td>$PA4BLACKBERRYFULL</td>";
    echo "<td>$PA4BLACKBERRYTOPMAIL</td>";
    echo "<td>$PA4DATI10GB</td>";
    echo "<td>$PA4DATI500MB</td>";
    echo "<td>$TIMDUO</td>";
    echo "<td>$TIMDUOPLUSMESSAGGI</td>";
    echo "<td>$TIMDUOPLUSMMSBASIC</td>";
    echo "<td>$TIMDUOPLUSSMSBASIC</td>";
    echo "<td>$TIMDUOROAMINGON</td>";
    echo "<td>$TIMPERSONALDATI</td>";
    echo "<td>$TWINCARDBUSINESS</td>";
    echo "<td>$TWINCARDMOBILEOFFICE</td>";
    }
    ?>
    </tr>
    </table>
    </body>
    </html>


    Ciao
    JerryLeeLewis

  6. #6

    Re: Re: Re: Creazione file .xls

    Originariamente inviato da bstefano79
    quoto con PHPExcel potrai fare

    $objPHPExcel->setActiveSheetIndex(0); //punto al primo foglio
    $objPHPExcel->setActiveSheetIndex(1);//punto al secondo foglio

    etcetc
    Ciao bstefano79,
    come si fa ad implementare phpexcel?

  7. #7

    Re: Re: Re: Re: Creazione file .xls

    grazie, se nn riesco con phpexcel vado col tuo.

    Originariamente inviato da JerryLeeLeewis
    Ciao bstefano79,
    come si fa ad implementare phpexcel?
    ti posto quello che ho fatto.
    ti scarichi la libreria e metti la directory Classes nel tuo progetto.
    poi fai una cosa del genere:
    Codice PHP:
     <form method="post" action="<?php $_SERVER['PHP_SELF']; ?>">
                                <input type="submit" value="Create excel file" />
                            </form>
                            <?php
                            
    if ($_SERVER['REQUEST_METHOD'] == "POST") {
    //                            include_once 'moduli/config.php';
                                
    include_once 'phpex/PHPExcel.php';
                                include_once 
    'phpex/PHPExcel/Writer/Excel5.php';

                                echo 
    date('H:i:s') . " Create new PHPExcel object
    "
    ;
                                
    $objPHPExcel = new PHPExcel();

                                echo 
    date('H:i:s') . " Set properties
    "
    ;
                                
    $objPHPExcel->getProperties()->setCreator("Matteo");
                                
    $objPHPExcel->getProperties()->setLastModifiedBy("Matteo");
                                
    $objPHPExcel->getProperties()->setTitle("My library");
                                
    $objPHPExcel->getProperties()->setSubject("My library");
                                
    $objPHPExcel->getProperties()->setDescription("My library.");

                                echo 
    date('H:i:s') . " Add some data
    "
    ;

                                
    $row 0;
                                
    $col 0;
                                
    $objPHPExcel->setActiveSheetIndex(0);
                                while (
    $row $ind->selectEx()) {
                                    foreach (
    $row as $key => $value) {
                                        
    $objPHPExcel->getActiveSheet()->setCellValueByColumnAndRow($col$row$value);
                                        
    $col++;
                                    }
                                    
    $row++;
                                }
    //                            $objPHPExcel->getActiveSheet()->SetCellValue('A1', 'Title');
    //                            $objPHPExcel->getActiveSheet()->SetCellValue('B1', 'Author');
    //                            $objPHPExcel->getActiveSheet()->SetCellValue('C1', 'Editor');
    //                            $objPHPExcel->getActiveSheet()->SetCellValue('D1', 'Price');
    //                            $objPHPExcel->getActiveSheet()->SetCellValue('E1', 'Isbn');
    //                            $objPHPExcel->getActiveSheet()->SetCellValue('F1', 'Note');

                                
    echo date('H:i:s') . " Rename sheet
    "
    ;
                                
    $objPHPExcel->getActiveSheet()->setTitle('Book');

                                echo 
    date('H:i:s') . " Write to Excel2007 format
    "
    ;
                                
    $objWriter = new PHPExcel_Writer_Excel5($objPHPExcel);
                                
    $objWriter->save("book.xls");

                                echo 
    date('H:i:s') . " Done writing file.\r
    "
    ;
                                echo 
    date('H:i:s') . " Peak memory usage: " . (memory_get_peak_usage(true) / 1024 1024) . " MB\r
    "
    ;
                                echo 
    date('H:i:s') . " Done.\r
    "
    ;
                            }
                            
    ?>
    a me nn riesce di listare in automatico tutta la tabella.
    per il resto funziona tutto (se levi il while e metti la parte commentata).

  8. #8
    Utente di HTML.it L'avatar di bstefano79
    Registrato dal
    Feb 2004
    Messaggi
    2,520

    Re: Re: Re: Re: Creazione file .xls

    Originariamente inviato da fermat
    si però io con phpexcel ad esempio nn riesco a scorrere la tabella in automatico.
    cioè?

  9. #9
    Utente di HTML.it L'avatar di bstefano79
    Registrato dal
    Feb 2004
    Messaggi
    2,520

    Re: Re: Re: Re: Creazione file .xls

    Originariamente inviato da JerryLeeLeewis
    Ciao bstefano79,
    come si fa ad implementare phpexcel?
    lo trovi qui http://phpexcel.codeplex.com/

  10. #10

    Re: Re: Re: Re: Re: Creazione file .xls

    Originariamente inviato da bstefano79
    cioè?
    io ho una tabella che prende i valori da un db.
    visto che nn so se e come sia possibile estrapolare i valori dai vari td ho pensato di eseguire un'altra query.
    al submit del form eseguo questo codice:
    Codice PHP:
                            <?php
                            
    if ($_SERVER['REQUEST_METHOD'] == "POST") {
                                include_once 
    'moduli/config.php';
                                include_once 
    'phpex/PHPExcel.php';
                                include_once 
    'phpex/PHPExcel/Writer/Excel5.php';

                                echo 
    date('H:i:s') . " Create new PHPExcel object
    "
    ;
                                
    $objPHPExcel = new PHPExcel();

                                echo 
    date('H:i:s') . " Set properties
    "
    ;
                                
    $objPHPExcel->getProperties()->setCreator("Matteo");
                                
    $objPHPExcel->getProperties()->setLastModifiedBy("Matteo");
                                
    $objPHPExcel->getProperties()->setTitle("My library");
                                
    $objPHPExcel->getProperties()->setSubject("My library");
                                
    $objPHPExcel->getProperties()->setDescription("My library.");

                                echo 
    date('H:i:s') . " Add some data
    "
    ;
                                
    $sel_ex Config::getInstance();
                                
    $row 0;
                                
    $col 0;
                                
    $objPHPExcel->setActiveSheetIndex(0);
                                while (
    $row $sel_ex->selectEx()) {
                                    foreach (
    $row as $key => $value) {
                                        
    $objPHPExcel->getActiveSheet()->setCellValueByColumnAndRow($col$row$value);
                                        
    $col++;
                                    }
                                    
    $row++;
                                }

                                echo 
    date('H:i:s') . " Rename sheet
    "
    ;
                                
    $objPHPExcel->getActiveSheet()->setTitle('Book');

                                echo 
    date('H:i:s') . " Write to Excel2007 format
    "
    ;
                                
    $objWriter = new PHPExcel_Writer_Excel5($objPHPExcel);
                                
    $objWriter->save("book.xls");

                                echo 
    date('H:i:s') . " Done writing file.\r
    "
    ;
                                echo 
    date('H:i:s') . " Peak memory usage: " . (memory_get_peak_usage(true) / 1024 1024) . " MB\r
    "
    ;
                                echo 
    date('H:i:s') . " Done.\r
    "
    ;
                            }
                            
    ?>
    nel ciclo while richiamo il metodo selectEx() che si trova in config.php:
    Codice PHP:
        public function selectEx() {
            
    $result = array();
            try {
                
    $stmt $this->pdo->prepare("CALL getBook()");
                
    $stmt->execute();
                
    $result $stmt->fetchAll();
                return 
    $result;
            } catch (
    PDOException $e) {
                return 
    "Error!: " $e->getMessage() . "
    "
    ;
                die();
            }
        } 
    ho pensato di estrapolare i dati direttamente da db con una query.
    però nn aggiunge i dati e il tutto si blocca a:
    echo date('H:i:s') . " Add some data
    ";

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.