Tabla de contenido
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.
- Leer el valor de una celda en Java
- Leer datos de un rango de celdas en Java
- Leer datos de una hoja de trabajo completa en Java
- Leer fórmula en una celda en Java
- Leer el resultado de la fórmula en una celda en Java
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.
- Cree un objeto de libro de trabajo.
- Cargue un archivo de Excel en el objeto Libro de trabajo.
- Obtenga una hoja de trabajo específica del objeto Libro de trabajo.
- Obtenga un rango de celdas específico (en este caso, la celda C6) de la hoja de trabajo.
- 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); } }
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.
- Cree un objeto de libro de trabajo.
- Cargue un archivo de Excel en el objeto Libro de trabajo.
- Obtenga una hoja de trabajo específica del objeto Libro de trabajo.
- Obtenga un rango de celdas (en este caso, A3:F6) de la hoja de trabajo.
- Itere a través de las celdas del rango utilizando bucles anidados.
- Dentro de cada iteración, obtenga una celda específica dentro del rango.
- Recupere el valor de la celda usando el método getValue().
- 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(); } } }
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.
- Cree un objeto de libro de trabajo.
- Cargue un archivo de Excel existente en el objeto Libro de trabajo.
- Obtenga la primera hoja de trabajo del objeto Libro de trabajo.
- Utilice el método getAllocatedRange() en la hoja de trabajo para recuperar el rango de celdas que contiene datos.
- Itere a través de cada fila en el rango ubicado usando un bucle for.
- Dentro de cada iteración de fila, repita cada columna en el rango ubicado usando otro bucle for.
- Obtenga una celda específica dentro del rango ubicado usando el método get(), pasando los índices de fila y columna.
- Recupere el valor de la celda usando el método getValue().
- 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(); } } }
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.
- Cree un objeto de libro de trabajo.
- Cargue un archivo de Excel en el objeto Libro de trabajo.
- Obtenga una hoja de trabajo específica del objeto Libro de trabajo.
- Obtenga una celda específica (D4 en este caso) de la hoja de trabajo.
- Compruebe si la celda tiene una fórmula usando el método hasFormula().
- 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); } } }
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.
- Cree un objeto de libro de trabajo.
- Cargue un archivo de Excel en el objeto Libro de trabajo.
- Obtenga una hoja de trabajo específica del objeto Libro de trabajo.
- Obtenga una celda específica (D4 en este caso) de la hoja de trabajo.
- Compruebe si la celda tiene una fórmula usando el método hasFormula().
- 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); } } }
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.