Solución gratuita: leer archivos de Excel en Java

2024-01-25 06:35:24

Instalar con Maven

<dependency>
      <groupId>e-iceblue</groupId>
      <artifactId>spire.xls.free</artifactId>
      <version>5.1.0</version>
    </dependency>
    

enlaces relacionados

La capacidad de leer datos de archivos de Excel puede resultar útil en diversas industrias y escenarios en los que es necesario acceder y utilizar datos estructurados. Al leer datos de Excel, puede extraer información, realizar cálculos y analizar los datos utilizando lenguajes de programación o herramientas especializadas. Este proceso permite la manipulación eficiente de datos y facilita tareas como generar informes, realizar análisis estadísticos y automatizar flujos de trabajo.

En este artículo, vamos a presentar cómo leer archivos de Excel en Java utilizando E-iceblue Biblioteca gratuita de Java Excel. Se incluyen los siguientes subtemas.

Biblioteca Java gratuita para leer Excel

Free Spire.XLS for Java, proporcionada por E-iceblue Inc., es una biblioteca Java pequeña pero potente que permite a los desarrolladores crear, leer y modificar sin esfuerzo archivos Excel XLS y XLSX. Aunque es una edición comunitaria de la biblioteca comercial. Spire.XLS for Java ofrece casi todas las capacidades de manejo de Excel, excluyendo la conversión de formato de archivo. Los usuarios pueden usarlo para crear fácilmente un documento de Excel desde cero o realizar operaciones en documentos existentes, como recuperar datos de una hoja de trabajo.

Para instalar la biblioteca desde el repositorio de Maven, simplemente agregue la siguiente configuración al archivo pom.xml de su proyecto.

<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>

Alternativamente, puedes Descargue Free Spire.XLS for Java e importe manualmente el archivo jar como dependencia en su aplicación Java.

Leer el valor de una celda en Java

En Free Spire.XLS, la clase CellRange representa una celda o un rango, y el método getValue() de la clase recupera el valor de una celda específica, que puede ser texto, un número o una fórmula. Siga los siguientes pasos para leer el valor de una celda en Java.

  1. Cree un objeto de libro de trabajo.
  2. Cargue un archivo de Excel en el objeto Libro de trabajo.
  3. Obtenga una hoja de trabajo específica del objeto Libro de trabajo.
  4. Obtenga un rango de celdas específico (en este caso, la celda C6) de la hoja de trabajo.
  5. Recupere el valor de la celda usando el método 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

Leer datos de un rango de celdas en Java

Ahora que hemos aprendido cómo obtener el valor de una celda en particular, es fácil extraer datos de una región de celda recorriendo las celdas una por una. Los pasos para leer datos de un rango de celdas específico son los siguientes.

  1. Cree un objeto de libro de trabajo.
  2. Cargue un archivo de Excel en el objeto Libro de trabajo.
  3. Obtenga una hoja de trabajo específica del objeto Libro de trabajo.
  4. Obtenga un rango de celdas (en este caso, A3:F6) de la hoja de trabajo.
  5. Itere a través de las celdas del rango utilizando bucles anidados.
  6. Dentro de cada iteración, obtenga una celda específica dentro del rango.
  7. Recupere el valor de la celda usando el método getValue().
  8. Repita el proceso para todas las celdas del rango.
  • 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

Leer datos de una hoja de trabajo completa en Java

Para identificar el rango de celdas que contienen datos, emplee el método Worksheet.getAllocatedRange(), que genera un objeto CellRange. Al recorrer las celdas dentro del rango, puede acceder a cada celda y su valor correspondiente. Estos son los pasos para leer los datos de una hoja de trabajo completa en Java.

  1. Cree un objeto de libro de trabajo.
  2. Cargue un archivo de Excel existente en el objeto Libro de trabajo.
  3. Obtenga la primera hoja de trabajo del objeto Libro de trabajo.
  4. Utilice el método getAllocatedRange() en la hoja de trabajo para recuperar el rango de celdas que contiene datos.
  5. Itere a través de cada fila en el rango ubicado usando un bucle for.
  6. Dentro de cada iteración de fila, repita cada columna en el rango ubicado usando otro bucle for.
  7. Obtenga una celda específica dentro del rango ubicado usando el método get(), pasando los índices de fila y columna.
  8. Recupere el valor de la celda usando el método getValue().
  9. Repita el proceso para todas las celdas del rango.
  • 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

Leer fórmula en una celda en Java

Si una celda contiene una fórmula, puede obtenerla utilizando el método getValue() o el método getFormula(). Estos son los pasos para leer la fórmula de una celda en Java.

  1. Cree un objeto de libro de trabajo.
  2. Cargue un archivo de Excel en el objeto Libro de trabajo.
  3. Obtenga una hoja de trabajo específica del objeto Libro de trabajo.
  4. Obtenga una celda específica (D4 en este caso) de la hoja de trabajo.
  5. Compruebe si la celda tiene una fórmula usando el método hasFormula().
  6. Si la celda tiene una fórmula, recupere la fórmula usando el método 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

Leer el resultado de la fórmula en una celda en Java

En muchos casos, los usuarios están interesados principalmente en los resultados producidos por las fórmulas más que en las fórmulas mismas. Para obtener el resultado de una fórmula, utilice el método getFormulaValue(). Los siguientes son los pasos para leer el resultado de la fórmula en una celda en Java.

  1. Cree un objeto de libro de trabajo.
  2. Cargue un archivo de Excel en el objeto Libro de trabajo.
  3. Obtenga una hoja de trabajo específica del objeto Libro de trabajo.
  4. Obtenga una celda específica (D4 en este caso) de la hoja de trabajo.
  5. Compruebe si la celda tiene una fórmula usando el método hasFormula().
  6. Si la celda tiene una fórmula, recupere el resultado de la fórmula usando el método getFormulaValue() y convierta el resultado en una representación de cadena usando el método 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

Conclusión

En esta publicación de blog, explicamos el proceso de recuperación de datos (texto y números) de una celda específica, un rango de celdas designado o una hoja de cálculo de Excel completa usando Free Spire.XLS for Java. Además, analizamos cómo determinar si una celda contiene una fórmula y exploramos métodos para extraer tanto la fórmula misma como su valor resultante. Como biblioteca profesional de Excel, Free Spire.XLS for Java admite la extracción de imágenes y objetos OLE también de documentos de Excel.

Para obtener más tutoriales, consulte nuestro Guía de programación en Excel. Si tiene alguna pregunta, no dude en contactarnos a través del foro Spire.XLS.

Ver también