Sommario
Installa con Maven
<dependency> <groupId>e-iceblue</groupId> <artifactId>spire.xls.free</artifactId> <version>5.1.0</version> </dependency>
Link correlati
La capacità di leggere i dati da file Excel può essere utile in vari settori e scenari in cui è necessario accedere e utilizzare dati strutturati. Leggendo i dati da Excel, puoi estrarre informazioni, eseguire calcoli e analizzare i dati utilizzando linguaggi di programmazione o strumenti specializzati. Questo processo consente una manipolazione efficiente dei dati e facilita attività come la generazione di report, l'esecuzione di analisi statistiche e l'automazione dei flussi di lavoro.
In questo articolo, presenteremo come farlo leggere file Excel in Java utilizzando E-iceblue Libreria Java Excel gratuita. Sono inclusi i seguenti argomenti secondari.
- Leggi il valore di una cella in Java
- Leggi i dati di un intervallo di celle in Java
- Leggi i dati di un intero foglio di lavoro in Java
- Leggi la formula in una cella in Java
- Leggi il risultato della formula in una cella in Java
Libreria Java gratuita per leggere Excel
Free Spire.XLS for Java, fornito da E-iceblue Inc., è una piccola ma potente libreria Java che consente agli sviluppatori di creare, leggere e modificare facilmente file Excel XLS e XLSX. Sebbene sia un'edizione comunitaria della biblioteca commerciale Spire.XLS for Java offre quasi tutte le funzionalità di gestione di Excel, esclusa la conversione del formato file. Gli utenti possono utilizzarlo per creare facilmente un documento Excel da zero o eseguire operazioni su documenti esistenti, come il recupero di dati da un foglio di lavoro.
Per installare la libreria dal repository Maven, aggiungi semplicemente la seguente configurazione al file pom.xml del tuo progetto.
<repositories> <repository> <id>com.e-iceblue</id> <name>e-iceblue</name> <url>https://repo.e-iceblue.com/nexus/content/groups/public/</url> </repository> </repositories> <dependencies> <dependency> <groupId>e-iceblue</groupId> <artifactId>spire.xls.free</artifactId> <version>5.1.0</version> </dependency> </dependencies>
In alternativa, puoi scarica Free Spire.XLS for Java e importa manualmente il file jar come dipendenza nella tua applicazione Java.
Leggi il valore di una cella in Java
In Free Spire.XLS, la classe CellRange rappresenta una cella o un intervallo e il metodo getValue() sotto la classe recupera il valore di una cella specifica, che può essere testo, un numero o una formula. Seguire i seguenti passaggi per leggere il valore di una cella in Java.
- Creare un oggetto cartella di lavoro.
- Caricare un file Excel nell'oggetto cartella di lavoro.
- Ottieni un foglio di lavoro specifico dall'oggetto Workbook.
- Ottieni un intervallo di celle specifico (in questo caso, cella C6) dal foglio di lavoro.
- Recupera il valore della cella utilizzando il metodo getValue().
- Java
import com.spire.xls.CellRange; import com.spire.xls.Workbook; import com.spire.xls.Worksheet; public class ReadCellValue { public static void main(String[] args) { // Create a Workbook object Workbook wb = new Workbook(); // Load an Excel file wb.loadFromFile("C:\\Users\\Administrator\\Desktop\\Score Sheet.xlsx"); //Get a specific worksheet Worksheet sheet = wb.getWorksheets().get(0); // Get a specific cell CellRange certainCell = sheet.getCellRange("C6"); // Get the value of the cell String cellValue = certainCell.getValue(); // Print out result System.out.println("C6 has the value: " + cellValue); } }
Leggi i dati di un intervallo di celle in Java
Ora che abbiamo imparato come ottenere il valore di una cella particolare, è facile estrarre i dati da una regione di cella scorrendo le celle una per una. I passaggi per leggere i dati di un intervallo di celle specifico sono i seguenti.
- Creare un oggetto cartella di lavoro.
- Caricare un file Excel nell'oggetto cartella di lavoro.
- Ottieni un foglio di lavoro specifico dall'oggetto Workbook.
- Ottieni un intervallo di celle (in questo caso A3:F6) dal foglio di lavoro.
- Scorri le celle nell'intervallo utilizzando i cicli nidificati.
- All'interno di ogni iterazione, ottieni una cella specifica all'interno dell'intervallo.
- Recupera il valore della cella utilizzando il metodo getValue().
- Ripeti la procedura per tutte le celle dell'intervallo.
- Java
import com.spire.xls.CellRange; import com.spire.xls.Workbook; import com.spire.xls.Worksheet; public class ReadCellRange { public static void main(String[] args) { // Create a Workbook object Workbook wb = new Workbook(); // Load an Excel file wb.loadFromFile("C:\\Users\\Administrator\\Desktop\\Score Sheet.xlsx"); //Get a specific worksheet Worksheet sheet = wb.getWorksheets().get(0); // Get a cell range CellRange cellRange = sheet.getCellRange("A3:F6"); // Iterate through the cells in the range for (int i = 0; i < cellRange.getRowCount(); i++) { for (int j = 0; j < cellRange.getColumnCount(); j++) { // Get a specific cell CellRange certainCell = cellRange.get(3 + i, 1 + j); // Get the value of the cell String cellValue = certainCell.getValue(); // Print out result System.out.print(cellValue + " "); } System.out.println(); } } }
Leggi i dati di un intero foglio di lavoro in Java
Per identificare l'intervallo di celle contenenti dati, utilizzare il metodo Worksheet.getAllocatedRange(), che genera un oggetto CellRange. Scorrendo le celle all'interno dell'intervallo, è possibile accedere a ciascuna cella e al relativo valore corrispondente. Ecco i passaggi per leggere i dati di un intero foglio di lavoro in Java.
- Creare un oggetto cartella di lavoro.
- Caricare un file Excel esistente nell'oggetto cartella di lavoro.
- Ottieni il primo foglio di lavoro dall'oggetto Workbook.
- Utilizzare il metodo getAllocatedRange() nel foglio di lavoro per recuperare l'intervallo di celle che contiene i dati.
- Scorrere ogni riga nell'intervallo individuato utilizzando un ciclo for.
- All'interno di ogni iterazione di riga, scorrere ciascuna colonna nell'intervallo individuato utilizzando un altro ciclo for.
- Ottieni una cella specifica all'interno dell'intervallo individuato utilizzando il metodo get(), passando gli indici di riga e colonna.
- Recupera il valore della cella utilizzando il metodo getValue().
- Ripeti la procedura per tutte le celle dell'intervallo.
- Java
import com.spire.xls.CellRange; import com.spire.xls.Workbook; import com.spire.xls.Worksheet; public class ReadWorksheet { public static void main(String[] args) { //Create a Workbook object Workbook wb = new Workbook(); //Load an existing Excel file wb.loadFromFile("C:\\Users\\Administrator\\Desktop\\Score Sheet.xlsx"); //Get the first worksheet Worksheet sheet = wb.getWorksheets().get(0); //Get the cell range containing data CellRange locatedRange = sheet.getAllocatedRange(); //Iterate through the rows for (int i = 0; i < locatedRange.getRows().length; i++) { //Iterate through the columns for (int j = 0; j < locatedRange.getColumnCount(); j++) { // Get a specific cell CellRange certainCell = locatedRange.get(i + 1, j + 1); // Get the value of the cell String cellValue = certainCell.getValue(); // Print out result System.out.print(cellValue + " "); } System.out.println(); } } }
Leggi la formula in una cella in Java
Se una cella contiene una formula, puoi ottenere la formula utilizzando il metodo getValue() o il metodo getFormula(). Ecco i passaggi per leggere la formula di una cella in Java.
- Creare un oggetto cartella di lavoro.
- Caricare un file Excel nell'oggetto cartella di lavoro.
- Ottieni un foglio di lavoro specifico dall'oggetto Workbook.
- Ottieni una cella specifica (D4 in questo caso) dal foglio di lavoro.
- Controlla se la cella ha una formula utilizzando il metodo hasFormula().
- Se la cella ha una formula, recupera la formula utilizzando il metodo getFormula().
- Java
import com.spire.xls.CellRange; import com.spire.xls.Workbook; import com.spire.xls.Worksheet; public class ReadFormula { public static void main(String[] args) { // Create a Workbook object Workbook wb = new Workbook(); // Load an Excel file wb.loadFromFile("C:\\Users\\Administrator\\Desktop\\Formula.xlsx"); //Get a specific worksheet Worksheet sheet = wb.getWorksheets().get(0); // Get a specific cell CellRange certainCell = sheet.getCellRange("D4"); // Determine if the cell has formula or not if (certainCell.hasFormula()){ // Get the formula of the cell String formula = certainCell.getFormula(); // Print out result System.out.println("D4 has a formula: " + formula); } } }
Leggi il risultato della formula in una cella in Java
In molti casi, gli utenti sono interessati principalmente ai risultati prodotti dalle formule piuttosto che alle formule stesse. Per ottenere il risultato di una formula, utilizzare il metodo getFormulaValue(). Di seguito sono riportati i passaggi per leggere il risultato della formula in una cella in Java.
- Creare un oggetto cartella di lavoro.
- Caricare un file Excel nell'oggetto cartella di lavoro.
- Ottieni un foglio di lavoro specifico dall'oggetto Workbook.
- Ottieni una cella specifica (D4 in questo caso) dal foglio di lavoro.
- Controlla se la cella ha una formula utilizzando il metodo hasFormula().
- Se la cella contiene una formula, recupera il risultato della formula utilizzando il metodo getFormulaValue() e converti il risultato in una rappresentazione di stringa utilizzando il metodo toString().
- Java
import com.spire.xls.CellRange; import com.spire.xls.Workbook; import com.spire.xls.Worksheet; public class ReadFormulaResult { public static void main(String[] args) { // Create a Workbook object Workbook wb = new Workbook(); // Load an Excel file wb.loadFromFile("C:\\Users\\Administrator\\Desktop\\Formula.xlsx"); //Get a specific worksheet Worksheet sheet = wb.getWorksheets().get(0); // Get a specific cell CellRange certainCell = sheet.getCellRange("D4"); // Determine if the cell has formula or not if (certainCell.hasFormula()){ // Get the result of formula String formulaResult = certainCell.getFormulaValue().toString(); // Print out result System.out.println("D4 has a formula and its result is: " + formulaResult); } } }
Conclusione
In questo post del blog, abbiamo spiegato il processo di recupero dei dati (testo e numeri) da una cella specifica, un intervallo di celle designato o un intero foglio di lavoro Excel utilizzando Free Spire.XLS for Java. Inoltre, abbiamo discusso come determinare se una cella contiene una formula ed esplorato i metodi per estrarre sia la formula stessa che il valore risultante. Come libreria Excel professionale, Spire.XLS gratuita per Java supporta i file estrazione di immagini e Oggetti OLE anche da documenti Excel.
Per ulteriori tutorial, consulta il nostro Guida alla programmazione in Excel. In caso di domande, non esitate a contattarci tramite il forum Spire.XLS.