Soluzione gratuita: leggi i file Excel in Java

2024-01-25 06:32:38

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.

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.

  1. Creare un oggetto cartella di lavoro.
  2. Caricare un file Excel nell'oggetto cartella di lavoro.
  3. Ottieni un foglio di lavoro specifico dall'oggetto Workbook.
  4. Ottieni un intervallo di celle specifico (in questo caso, cella C6) dal foglio di lavoro.
  5. 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);
        }
    }

Free Solution: Read Excel Files in Java

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.

  1. Creare un oggetto cartella di lavoro.
  2. Caricare un file Excel nell'oggetto cartella di lavoro.
  3. Ottieni un foglio di lavoro specifico dall'oggetto Workbook.
  4. Ottieni un intervallo di celle (in questo caso A3:F6) dal foglio di lavoro.
  5. Scorri le celle nell'intervallo utilizzando i cicli nidificati.
  6. All'interno di ogni iterazione, ottieni una cella specifica all'interno dell'intervallo.
  7. Recupera il valore della cella utilizzando il metodo getValue().
  8. 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();
            }
        }
    }

Free Solution: Read Excel Files in Java

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.

  1. Creare un oggetto cartella di lavoro.
  2. Caricare un file Excel esistente nell'oggetto cartella di lavoro.
  3. Ottieni il primo foglio di lavoro dall'oggetto Workbook.
  4. Utilizzare il metodo getAllocatedRange() nel foglio di lavoro per recuperare l'intervallo di celle che contiene i dati.
  5. Scorrere ogni riga nell'intervallo individuato utilizzando un ciclo for.
  6. All'interno di ogni iterazione di riga, scorrere ciascuna colonna nell'intervallo individuato utilizzando un altro ciclo for.
  7. Ottieni una cella specifica all'interno dell'intervallo individuato utilizzando il metodo get(), passando gli indici di riga e colonna.
  8. Recupera il valore della cella utilizzando il metodo getValue().
  9. 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();
            }
        }
    }

Free Solution: Read Excel Files in Java

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.

  1. Creare un oggetto cartella di lavoro.
  2. Caricare un file Excel nell'oggetto cartella di lavoro.
  3. Ottieni un foglio di lavoro specifico dall'oggetto Workbook.
  4. Ottieni una cella specifica (D4 in questo caso) dal foglio di lavoro.
  5. Controlla se la cella ha una formula utilizzando il metodo hasFormula().
  6. 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);
            }
        }
    }

Free Solution: Read Excel Files in Java

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.

  1. Creare un oggetto cartella di lavoro.
  2. Caricare un file Excel nell'oggetto cartella di lavoro.
  3. Ottieni un foglio di lavoro specifico dall'oggetto Workbook.
  4. Ottieni una cella specifica (D4 in questo caso) dal foglio di lavoro.
  5. Controlla se la cella ha una formula utilizzando il metodo hasFormula().
  6. 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);
            }
        }
    }

Free Solution: Read Excel Files in Java

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.

Guarda anche