Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 21

Hybrid View

  1. #1

    codice html spazzatura generato da Excel da pulire

    salve mi diletto a fare piccoli programmi in Visual Basic e non son molto esperta di codice HTML


    il mio problema è il seguente:


    una macro di Excel mi genera un tabella di nomi e statistiche che poi devo pubblicare nel web.
    Finchè il file generato restava sotto i 10 Mb . . non avevo alcun problema a caricarlo nel mio spazio web
    su digilander di Libero . . ma adesso questa lista ha superato le 33 mila righe (33 mila nomi di utenti da
    pubblicare) e il file htm che mi viene generato da Excel con l'opzione 'salva come pagina web'
    supera i 15 Mb. Probabilmete digilander-libero non mi permettono l'upload di files oltre i 10 Mb
    quindi non riesco più a caricare questo file con FileZilla (non ho esaurito il mio spazio web).
    Oppure . . mi date un un consiglio su un host gratuito che non ha queste limitazioni . . non credo che sia un problema di impostazioni di FileZilla . . o sbaglio?

    Questo è il link del foglio di excel pubblicato correttamente finchè restavo sotto i 10 Mb
    digidownload.libero.it/myftp2010/ALL_skills.htm

    vi mostro un pezzettino di codice dal quale si nota come ci siano continue ripetizioni di impostazioni
    su dimensioni, colore, stile del font ect . . evidentemente ogni cella di Excel ripete le sue impostazioni
    . . e vi chiedo . . .
    se esiste un programma in grado di semplificare questa struttura? . . oppure cosa posso eliminare
    'manualmente' (usando un progammino in Vb che potrei fare ad hoc per far pulizia) nel codice di
    superfluo senza perdere nulla della originaria formattazione . . grazie


    <tr height=31 valign=bottom style='height:23.25pt'>
    <td height=31 class=xl26 align=center style='height:23.25pt' x:num>30173</td>
    <td class=xl35>1910 <font
    class="font6" size="4"> floxaxel</td>
    <td class=xl28 x:num>6</td>
    <td class=xl29>11</td>
    <td colspan=7 style='mso-ignore:colspan'></td>
    </tr>
    <tr height=31 valign=bottom style='height:23.25pt'>
    <td height=31 class=xl26 align=center style='height:23.25pt' x:num>30174</td>
    <td class=xl35>1910 <font
    class="font6" size="4"> spencernoah</td>
    <td class=xl28 x:num>6</td>
    <td class=xl29>16</td>
    <td colspan=7 style='mso-ignore:colspan'></td>
    </tr>
    <tr height=31 valign=bottom style='height:23.25pt'>
    <td height=31 class=xl26 align=center style='height:23.25pt' x:num>30175</td>
    <td class=xl35>1910 <font
    class="font6" size="4"> Mherm</td>
    <td class=xl28 x:num>6</td>
    <td class=xl29>29</td>
    <td colspan=7 style='mso-ignore:colspan'></td>
    </tr>

    aggiungo . . che se pubblico queste statistiche in formato pdf . .
    il file generato è di soli 3 Mb contro i 15 del'html . . quindi di sicuro
    si può fare qualcosa per ripulirlo
    Ultima modifica di lucia.rocca; 18-11-2013 a 13:44

  2. #2
    Amministratore L'avatar di Vincent.Zeno
    Registrato dal
    May 2003
    residenza
    Emilia-Romagna (tortellini und cappelletti land!)
    Messaggi
    20,783
    ciao

    prima cosa avere un file con 30000 occorrenze non è tanto consigliabile
    la pagina da te indicata mi fornisce circa 3000 nomi e un codice di 26000 righe
    sebbene un avviso mi dica This page contains 30,000+ names and needs 1 minute to load
    interrompe lo scaricamento.
    per pulire è un po' una rogna ma si può fare.
    se invece potessi fare altre scelte, tipo dare in pasto il file excel ad uno script che estragga i dati per salvarli in un db e successivamente esporli con paginazione sarebbe decisamente meglio.
    o sei vincolata a quel passaggio suicida?

  3. #3
    ti ringrazio per la risposta . . in effetti ora si blocca a 3000 nomi perchè l'ultimo tentativo di upload
    si era fermato in quel punto . . adesso se riprovi a vedere la pagina i nomi visualizzabili sono 18000
    dei 33000 totali.
    18000 perchè ho bloccato io l'upload dopo 9.5 Mb prima che il server di digilander mi abortisse l'operazione con l'erore 'file too large'
    Ti ripeto che fino a qualche giorno fa tutto funzionava correttamente finchè restavo sotto i 10Mb
    e la pagina era di una semplicità assoluta . . proprio quello che cercavo . . gli utenti che andranno a visualizzarla non devo fare cose particolare . . devono solo fare una ricerca del loro nome e vedere in quale posizione del ranking si trovano . . per questo ci devono essere tutti i 33k nomi in una sola pagina.

    Io perdevo 1 minuto e 30 secondi per l'upload . . e loro perdevano solo 1 minuto per controlllarla . . perfetto! . . ora invece non riesco più a caricare tutti i dati per colpa di tutto quel codice html inutile.
    Se faccio lo stesso lavoro in pdf . . funziona alla grande . . con Chrome e Explorer . ma con Mozilla carica poche pagine alla volta e chi dovrà consultarla potrebbe avere problemi.

    In definitiva mi serve un modo per togliere il codice superfluo da quei 15Mb e farlo rientrare sotto i 10Mb

  4. #4
    Amministratore L'avatar di Vincent.Zeno
    Registrato dal
    May 2003
    residenza
    Emilia-Romagna (tortellini und cappelletti land!)
    Messaggi
    20,783
    siamo un po' al punto di partenza:
    ti accontenti di ripulire il codice o vuoi/puoi far di meglio?
    se vuoi solo ripulire passa il file html ad uno script che faccia il replace delle cose inutili.
    la noia sta nello stabilire di cosa fare il replace. salvo eccezioni una volta impostato fa quasi tutto.

  5. #5
    Quote Originariamente inviata da Vincent.Zeno Visualizza il messaggio
    siamo un po' al punto di partenza:
    ti accontenti di ripulire il codice o vuoi/puoi far di meglio?
    se vuoi solo ripulire passa il file html ad uno script che faccia il replace delle cose inutili.
    la noia sta nello stabilire di cosa fare il replace. salvo eccezioni una volta impostato fa quasi tutto.
    ci ho già provato . . ho appena usato Absolute HTML compressor . . ma mi ha tolto solo 2 Mb di codice inutile . . troppo poco

    ok visto la tua esperienza sapresti indicarmi uno script free migliore? . . qualcosa che agisca sulle righe di codice ripetute sempre per ogni cella . . ogni piccolo guadagno di codice . . moltiplicato x 33000 alla fine vuol dire tanta roba eliminata . . il mio problema è che non conosco il codice html e quindi non so come semplificare comandi così ripetitivi . . se fosse un codice Visual basic o un linguaggio di programmazione più evoluto avrei già risolto da ore

  6. #6
    Amministratore L'avatar di Vincent.Zeno
    Registrato dal
    May 2003
    residenza
    Emilia-Romagna (tortellini und cappelletti land!)
    Messaggi
    20,783
    Quote Originariamente inviata da lucia.rocca Visualizza il messaggio
    se fosse un codice Visual basic o un linguaggio di programmazione più evoluto avrei già risolto da ore
    allora che aspetti
    prendi il file, lo dai in pasto allo script con le regole da te impostate e salvi.
    fai un replace di tutte le cosa in più. e se serve aggiungi istruzioni mancanti.

    cosa non ti è chiaro?

  7. #7
    non mi è chiaro come posso semplificare o ancora meglio accorpare tag del genere <td class=xl29> ripetuti 33000 volte . . o magari eliminare interamente cose come queste . . <td colspan=7 style='mso-ignore:colspan'></td> . . perchè non ne conosco la sintassi . . forse c'è un modo più breve per far fare la stessa cosa . . un esperto di codice html potrebbe conoscere come ottenere lo stesso risultato con meno codice scritto . . ma non potendo diventare esperta in poco tempo . . cercavo un consiglio su come usare meno codice senza modificare il risultato finale . . meglio ancora un script intelligente che lo facesse al mio posto . . senza perdere troppo tempo . . probabilmente sbaglio tutto perchè parto dall'idea che quasi sempre in altri linguaggi un codice lungo può essere semplificato e ottimizzato . . probabilmente in html questo non è possibile e dovrò fare tagli 'manuali' di questo tipo:

    <tr height=31 valign=bottom style='height:23.25pt'>
    <tr height=31 valign=bottom style='height:23pt'> recuperando 3 caratteri per ogni vota che questa riga viene ripetuta

    fino a qui ci arrivo . . è che speravo in qualcosa di piu'

  8. #8
    Amministratore L'avatar di Vincent.Zeno
    Registrato dal
    May 2003
    residenza
    Emilia-Romagna (tortellini und cappelletti land!)
    Messaggi
    20,783
    hai parlato di VB, un replace lo sai fare?

    dati = "style='height:23.25pt'"
    dati = replace(dati,"style='height:23.25pt'","")
    e così via di seguito ottimizzando le combinazione di dati da togliere

    o meglio ancora (esempio) se riesci, cerca "<td" quando lo trovi scorri fino al successivo ">"
    quello che sta nel mezzo lo elimini.
    poi ripassi per assegnare le classi di stile alle celle della prima riga

  9. #9
    In pratica deve creare un parser, ma temo che lei non sappia esattamente cosa è effettivamente da togliere e cosa no... perché magari alcuni di quegli stili servono e dovrebbero essere estrapolati e messi in un apposito foglio di stile, altri no... o sbaglio?

  10. #10
    Amministratore L'avatar di Vincent.Zeno
    Registrato dal
    May 2003
    residenza
    Emilia-Romagna (tortellini und cappelletti land!)
    Messaggi
    20,783
    si parte da un foglio excel che più o meno fa sempre le stesse cose
    se sfugge qualcosa "di nuovo" non è grave, si rimedia aggiornando lo script
    eliminato tutto si può aggiungere uno stile personalizzato (anche nella pagina stessa, visto che si tratta di poca roba)

    è un po' macchinoso... ma non lo trovo così difficile

    la trovo invece un'operazione lunga per la macchina... ho tentato un replace con blocco note e in due minuti ero ancora alla millesima riga
    Ultima modifica di Vincent.Zeno; 18-11-2013 a 16:23

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.