Cerca Nei file excel
Cerca nei file excel senza aprire il file

Quando si lavora con file Excel in ambito web, è fondamentale disporre di un codice che permetta non solo di caricare il file, ma anche di processare i dati in maniera efficiente. Di seguito analizziamo passo dopo passo il funzionamento del codice, che consente di:
Caricare un file Excel
Inserire un termine di ricerca
Leggere e processare il contenuto del file
Filtrare le righe in base al termine (in modo case-insensitive)
Visualizzare i risultati in una tabella HTML
1. Caricamento del File e Input della Parola
Il primo passo consiste nell'interazione con l'utente:
File Input: L'utente seleziona un file Excel tramite un campo <input type="file"> che accetta file con estensioni .xls e .xlsx.
Termine di Ricerca: L'utente inserisce una parola o una parte di essa in un campo di testo. Questo termine sarà usato per cercare corrispondenze all'interno del file.
Questa parte del codice garantisce che l'utente fornisca tutte le informazioni necessarie prima di procedere alla lettura e all'elaborazione del file.
2. Lettura del File Excel
Una volta che l'utente ha selezionato il file e inserito il termine di ricerca:
FileReader: Viene utilizzato un oggetto FileReader per leggere il file Excel in formato binario.
SheetJS: La libreria SheetJS converte il contenuto binario in un oggetto workbook. Questo oggetto contiene tutte le informazioni del file, inclusi i nomi dei fogli e i dati in essi contenuti.
L'uso di SheetJS permette di trasformare i dati Excel in un formato JSON, rendendo molto più semplice l'elaborazione successiva.
3. Iterazione su Tutti i Fogli
I file Excel possono avere più fogli:
Accesso ai Fogli: Il codice utilizza workbook.SheetNames per ottenere una lista dei nomi di tutti i fogli presenti nel file.
Conversione in Array JSON: Per ciascun foglio, viene utilizzato XLSX.utils.sheet_to_json per convertire il contenuto in un array di righe. Ogni riga è rappresentata come un array, che contiene i valori delle celle.
Questo approccio garantisce che il codice possa analizzare ogni foglio individualmente, indipendentemente dal numero di fogli presenti nel file Excel.
4. Filtraggio delle Righe
Con i dati in formato JSON, il codice procede con il filtraggio:
Ricerca Case-insensitive: Per ogni riga, il codice controlla se almeno una cella contiene il termine di ricerca. La ricerca è case-insensitive, ovvero non distingue tra maiuscole e minuscole.
Filtraggio: Vengono mantenute solo le righe che soddisfano il criterio, ovvero quelle che contengono il termine specificato in almeno una cella.
Questo filtro permette di estrarre solo i dati rilevanti, migliorando l'efficienza della ricerca e la precisione dei risultati.
5. Visualizzazione dei Risultati
Infine, il codice visualizza i dati filtrati:
Titolo e Tabella: Per ogni foglio in cui sono state trovate righe corrispondenti, viene creato un titolo (indicante il nome del foglio) e una tabella HTML che presenta le righe trovate.
Messaggio di Assenza di Risultati: Se nessun foglio contiene il termine di ricerca, il codice mostra un messaggio informativo.
L'approccio di visualizzazione è pensato per offrire all'utente un feedback chiaro e immediato, permettendo di identificare facilmente in quale foglio sono stati trovati i dati di interesse.
Il codice descritto offre una soluzione pratica per:
Caricare un file Excel in modo dinamico.
Processare e filtrare i dati presenti in più fogli.
Visualizzare i risultati in un formato ordinato e facilmente leggibile.
uSALO!! E' gRATUITO!!
Carica il file e inserisci la parola da cercare. Nessun file viene salvato sul nostro server.
Carica file Excel e filtra righe in tutti i fogli