¿Cómo leer datos de la celda de fórmula en la hoja de Excel usando Selenium y Apache POI?

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

Excel Sheet

 

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.

Output

 

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());

Publicación traducida automáticamente

Artículo escrito por allwink45 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *