2015-06-16 14 views
5

Ho un form HTML che, quando si invia il modulo facendo clic su un pulsante l'applicazione genera un file di Excel utilizzando PHPExcel. Tutto funziona bene, ma quando il file excel è grande il tempo di attesa è piuttosto lungo. Vorrei aggiungere una barra di avanzamento o mostrare un valore percentuale completo. Il mio problema è che non so come inserirlo nel modulo e aggiornarlo continuamente.Mostra barra di avanzamento durante la generazione di file di Excel in php

Questo è quello che sto cercando di realizzare: enter image description here

EDIT:

Il mio codice è: forma

HTML:

<form action="reporteexcel.php" name = "ExportForm" method="POST"> 
<table> 
[All different fields] 
    <tr> 
       <td style = "position:relative; top:1em;left:4em;"> 
        <input type="submit" value="Export to excel"> 
        <input type="button" onclick="window.close();" value = "Cancel"> 
       </td> 
      </tr> 
     </table> 

    </form> 

In reporteexcel.php:

include 'PHPExcel_1.8.0/Classes/PHPExcel.php'; 
    include 'F1_Export.php'; 
    include 'F2_Export.php'; 
if ($Family == "F1") 
    { 
     exportF2 ($BasicInformation, $SupplierInformation, $PhysicalParameters, $Supplier, $Family); 
    } 
    else if ($Family == "F2") 
    { 
     exportF2 ($BasicInformation, $SupplierInformation, $PhysicalParameters, $Supplier, $Family); 
    } 

E in F1_export e F2_export sono le funzioni, che genera il file excel.

+0

Se non si desidera utilizzare un libreria esistente: fai una piccola ricerca su AJAX. La tua chiamata per l'esportazione potrebbe essere gestita tramite AJAX che potrebbe restituire aggiornamenti alla tua schermata/modulo corrente. – DragonYen

+0

Ho già provato ma non funziona (almeno non sapevo come farlo funzionare;)). Ho aggiunto un

nel codice HTML, ho aggiunto il file e AJAX, ma non so come aggiornare continuamente dalla mia funzione PHP che apprezzi ... – Mastor

+0

Leggi questo http://stackoverflow.com/questions/15508784/ progress-bar-update-progress –

risposta

2

usare questa libreria per caricare il file, è possibile anche mostrare barra di avanzamento per i caricamenti: http://blueimp.github.io/jQuery-File-Upload/

per mostrare i progressi per script di lunga durata PHP: http://www.htmlgoodies.com/beyond/php/show-progress-report-for-long-running-php-scripts.html

+0

Ciao! Non voglio caricare alcun file. Ho i miei dati in un database e con quello, genero un file excel. – Mastor

+0

@ user2528601 Ho aggiornato la mia risposta. –

Problemi correlati