Apache POI es una de las bibliotecas de Java más populares para las pruebas basadas en datos de selenium. Se utiliza principalmente para manejar todo tipo de documentos de Microsoft, como MS Word y MS Excel. MS word y otros. Apache POI es una biblioteca de código abierto y POI significa «Implementación de ofuscación deficiente».
Introducción a los puntos de interés de Apache
Necesitamos descargar Apache POI para comenzar con la biblioteca de Apache POI.
- Cree el proyecto Maven e instale el controlador Selenium
Geeks, para crear un proyecto Maven con Selenium, consulte este artículo ¿Cómo crear un proyecto Maven de Selenium con Eclipse para abrir el navegador Chrome?
- Agregue el repositorio mvn de dependencia de Apache POI
- Vaya a https://mvnrepository.com/ y busque Apache POI y seleccione la última versión estable, también instale la dependencia poi-OOXML.
- Copie la dependencia y péguela en el archivo pom.xml en el proyecto maven.
Creación de una hoja de Excel para pruebas
Ahora cree la hoja de Excel con dos columnas Salario y bonificación y calcule el Total usando la Fórmula. Si intentamos leer los datos de la tabla de fórmulas, generalmente se producen errores. Entonces tratamos de leer los datos en el tipo de datos de la fórmula en sí.
Guarde el archivo de Excel y pegue la ubicación en el flujo de entrada del archivo en el código.
Código
Java
package GFG_Maven.GFG_MAven; import org.testng.annotations.Test; import java.io.FileInputStream; import java.io.IOException; import java.util.Iterator; import org.apache.poi.ss.usermodel.Cell; import org.apache.poi.ss.usermodel.Row; import org.apache.poi.xssf.usermodel.XSSFSheet; import org.apache.poi.xssf.usermodel.XSSFWorkbook; public class Geeks { @Test public void geekforgeeks() throws IOException{ FileInputStream file = new FileInputStream("C:\\Users\\ADMIN\\Desktop\\geeks.xlsx"); XSSFWorkbook wb=new XSSFWorkbook(file); XSSFSheet sheet=wb.getSheet("Sheet1"); // Iterate each row one by one Iterator<Row> rIterator = sheet.iterator(); while (rIterator.hasNext()) { Row row = rIterator.next(); // For each row, iterate through all the columns Iterator<Cell> Cell = row.cellIterator(); while (Cell.hasNext()) { Cell cell = Cell.next(); // Check the cell type switch(cell.getCellType()) { case STRING: System.out.print(cell.getStringCellValue()); break; case NUMERIC: System.out.print(cell.getNumericCellValue()); break; case FORMULA: System.out.print(cell.getNumericCellValue()); break; } System.out.print("|"); } System.out.println(); } wb.close(); file.close(); } }
Producción
Después de ejecutar el programa, obtendremos todos los datos de Excel.
Código Explicación
- Al crear el flujo de entrada del archivo, pegue la ubicación del archivo de Excel.
FileInputStream file = new FileInputStream(“ubicación del archivo”);
- Ahora abra el archivo en el libro de trabajo XSSF y abra obtener la hoja1.
- Obtenga el número de filas y columnas.
- Iterar y obtener el valor de cada celda.
- Compruebe el tipo de datos en la caja del interruptor.
- Aquí se nos da el tipo de FÓRMULA para leer el valor de la celda en la columna Fórmula.
case FÓRMULA:
System.out.print(cell.getNumericCellValue());