Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2005
    Messaggi
    2,614

    Creare file excel da db mysql di grandi dimensioni

    Ciao a tutti,
    ho uno script che mi crea un file excel di alcuni dati presenti su db mysql, ora quando vado ad esportare circa 35mila righe di una tabella, il browser elabora, processando la pagina che crea l'excel, ma anche dopo tanto tempo non riesce a farmi l'excel sono costretto ad uscire e rientrare da browser per l'utilizzo sicuramente delle risorse per la mole di dati da elaborare.
    Potete consigliarmi un alternativa? Come posso exportare in excel tramite asp una mole di così tanti dati etc?
    Grazie

  2. #2
    35k righe non sono tantissime. puoi spiegare il giro, magari col codice? grazie

  3. #3
    Utente di HTML.it
    Registrato dal
    Jul 2005
    Messaggi
    2,614
    Grazie OPTIME,
    da premettere che la select dei campi è molto più lunga, qui l'ho ridotta per esempio.
    ecco il codice:
    codice:
    Set rs = conn.Execute("SELECT Codice_Bip, nome, cognome, ragione_sociale, tipo_reg, partiva, indirizzo, cap, citta, provincia, telefono, telefonoufficio, email, professione, altro, newsletter, attiva, privacy FROM utenti")
    for i = 0 to rs.Fields.Count-1
    
    if rs.fields(i).Name = "Codice_BIP" then
    
    risultato = risultato & "Codice Cliente</td><td>"
    
    else
    
    risultato = risultato & rs.Fields(i).Name & "</td><td>"
    
    end if
    
    next
    risultato = risultato & "</td></tr><tr><td>"
    risultato = risultato & rs.GetString(,,"</td><td style=mso-number-format:'\@';>","</td></tr><tr><td>", "-")
    
    rs.Close
    set rs = Nothing
    conn.Close
    set conn = Nothing
    
    Response.ContentType = "application/vnd.ms-excel"
    Response.AddHeader "content-disposition", "inline; filename=export_utenti_it_" & Time() & "-" & Now() & ".xls"
    
    Response.Write ("<table border=1 ><tr><td>" & risultato & "</td></tr></table>")

  4. #4
    devi capire quale parte è lenta

    io metterei dei log
    - dopo l'execute della select
    - al temine della costruzione di risultato (prima di rs.close)
    - dopo l'ultima response.write

    così dai tempi capisci dove sta il collo di bottiglia

  5. #5
    Utente di HTML.it
    Registrato dal
    Jul 2005
    Messaggi
    2,614
    mi puoi suggerire qualche log da inserire?

  6. #6
    Utente di HTML.it
    Registrato dal
    Jul 2005
    Messaggi
    2,614
    Comunque ho effettuato controllo tempi di esecuzione
    la parte "lenta" è questa che blocca tutto.
    codice:
    for i = 0 to rs.Fields.Count-1
    
    if rs.fields(i).Name = "Codice_BIP" then
    
    risultato = risultato & "Codice Cliente</td><td>"
    
    else
    
    risultato = risultato & rs.Fields(i).Name & "</td><td>"
    
    end if
    
    next
    risultato = risultato & "</td></tr><tr><td>"
    risultato = risultato & rs.GetString(,,"</td><td style=mso-number-format:'\@';>","</td></tr><tr><td>", "-")
    Come posso ovviare?

  7. #7
    Utente di HTML.it
    Registrato dal
    Jul 2005
    Messaggi
    2,614
    Nessun aiuto?

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