I file MS Excel sono ampiamente utilizzati per mantenere i dati tabulari sotto forma di fogli di lavoro. Spesso, gli enormi set di dati vengono mantenuti anche in file Excel. Pertanto, potresti imbatterti nello scenario in cui è necessario leggere e recuperare i dati dai fogli di lavoro in un file Excel. Per raggiungere questo obiettivo, questo articolo mostra come leggere un file Excel in Java. Dimostreremo come leggere l’intero file Excel o solo un singolo foglio di lavoro a livello di codice.
- Libreria Java per leggere file Excel
- Leggi i dati da un file Excel
- Leggere un foglio di lavoro in una cartella di lavoro di Excel
Libreria Java per leggere file Excel
Per leggere i dati dai fogli di lavoro, utilizzeremo Aspose.Cells for Java. È un’API di manipolazione del foglio di calcolo per creare file Excel da zero. Inoltre, ti consente di leggere e manipolare facilmente i file Excel esistenti. L’API può essere scaricata dalla sezione download o installata aggiungendo le seguenti configurazioni Maven in pom.xml.
<repository>
<id>AsposeJavaAPI</id>
<name>Aspose Java API</name>
<url>https://repository.aspose.com/repo/</url>
</repository>
<dependency>
<groupId>com.aspose</groupId>
<artifactId>aspose-cells</artifactId>
<version>21.11</version>
</dependency>
Leggi un file Excel in Java
Nei file Excel, i dati vengono archiviati in celle in cui ogni cella è identificata dal suo nome (A1, B3, ecc.) o dall’indice di riga e colonna. Queste celle formano collettivamente un foglio di lavoro e un file Excel è composto da uno o più fogli di lavoro. Tutti i fogli di lavoro sono contenuti in una cartella di lavoro. Quindi questa era una breve panoramica della struttura di un file Excel. Procediamo ora a leggere i dati da un file Excel.
Di seguito sono riportati i passaggi per leggere un file Excel e stamparne i dati utilizzando Java.
- Carica il file Excel usando la classe Cartella di lavoro.
- Crea un oggetto della classe WorksheetCollection e ottieni il riferimento dei fogli di lavoro usando il metodo Workbook.getWorksheets().
- Avvia un ciclo per esaminare tutti i fogli di lavoro nella raccolta e in ogni iterazione, procedi nel seguente modo:
- Ottieni il riferimento del foglio di lavoro in un oggetto Foglio di lavoro.
- Ottieni il conteggio delle righe e delle colonne di dati nel foglio di lavoro.
- Avvia un ciclo per le righe.
- Avvia un ciclo annidato per le colonne.
- Leggi i dati da ciascuna cella utilizzando il metodo Worksheet.getCells().get(rowIndex, columnIndex).getValue().
L’esempio di codice seguente mostra come leggere un file Excel in Java.
// Carica file Excel
Workbook wb = new Workbook("workbook.xlsx");
// Ottieni tutti i fogli di lavoro
WorksheetCollection collection = wb.getWorksheets();
// Scorri tutti i fogli di lavoro
for (int worksheetIndex = 0; worksheetIndex < collection.getCount(); worksheetIndex++) {
// Ottieni il foglio di lavoro usando il suo indice
Worksheet worksheet = collection.get(worksheetIndex);
// Stampa il nome del foglio di lavoro
System.out.print("Worksheet: " + worksheet.getName());
// Ottieni il numero di righe e colonne
int rows = worksheet.getCells().getMaxDataRow();
int cols = worksheet.getCells().getMaxDataColumn();
// Passa attraverso le righe
for (int i = 0; i < rows; i++) {
// Scorri ogni colonna nella riga selezionata
for (int j = 0; j < cols; j++) {
// Valore della cella Pring
System.out.print(worksheet.getCells().get(i, j).getValue() + " | ");
}
// Stampa interruzione di riga
System.out.println(" ");
}
}
Quello che segue è l’output che otteniamo nella console dopo aver eseguito l’esempio di codice sopra.
Leggi un particolare foglio di lavoro in Excel in Java
Puoi anche leggere solo un particolare foglio di lavoro nel file Excel seguendo i passaggi seguenti.
- Carica il file Excel usando la classe Cartella di lavoro.
- Ottieni il riferimento del foglio di lavoro desiderato in un oggetto Worksheet usando il metodo Workbook.getWorksheets().get(index).
- Ottieni il conteggio delle righe e delle colonne di dati nel foglio di lavoro.
- Avvia un ciclo per le righe.
- Avvia un ciclo annidato per le colonne.
- Leggi i dati da ciascuna cella utilizzando il metodo Worksheet.getCells().get(rowIndex, columnIndex).getValue().
L’esempio di codice seguente mostra come leggere i dati da un particolare foglio di lavoro in Java.
// Carica file Excel
Workbook wb = new Workbook("workbook.xlsx");
// Ottieni il riferimento del foglio di lavoro
Worksheet worksheet = wb.getWorksheets().get(0);
// Ottieni il conteggio di righe e colonne
int rows = worksheet.getCells().getMaxDataRow();
int cols = worksheet.getCells().getMaxDataColumn();
// Passa attraverso le righe
for (int i = 0; i < rows; i++) {
// Scorri ogni colonna nella riga selezionata
for (int j = 0; j < cols; j++) {
// Stampa il valore della cella
System.out.print(worksheet.getCells().get(i, j).getValue() + " | ");
}
// Stampa interruzione di riga
System.out.println(" ");
}
Ottieni una licenza API gratuita
Puoi utilizzare Aspose.Cells per Java senza limitazioni di valutazione ottenendo una licenza temporanea gratuita.
Conclusione
In questo articolo, hai imparato a leggere i file Excel in modo dinamico in Java. Con l’aiuto di esempi di codice, hai visto come leggere i dati da un particolare foglio di lavoro o da tutti i fogli di lavoro in una cartella di lavoro di Excel. Inoltre, puoi esplorare altre funzionalità di Aspose.Cells per Java utilizzando la documentazione. In caso di domande, non esitare a farcelo sapere tramite il nostro forum.