How to Read Excel Files Using Apache POI In Selenium WebDriver

Let’s see how to Read excel files using Apache POI in Selenium WebDriver:

Assuming that you have already downloaded and configured Apache POI jars in your project. If not, follow the below steps:

Step 1– Download Apache POI jar file

Download link of Apache POI Jars.

Step 2– Add download jar files

Steps to add jar files:

Select Project and Right click on the Project – Go to ‘Build path’ – Go to ‘Configure build path’ – Click on ‘lib’ section – Add external jar

Complete Guide: Handling Excel Files Using Apache POI

Precondition:

  1. Create an xlsx file and save it at particular location. Enter some data to read using Selenium. Close the created excel file before executing the script. (I have placed an excel file ‘Test.xlsx’ in my D Driver and my sheet name is TestData.)
  2. Go to option “Format Cells” and under Number Tab option, select Text and click on OK. By default it will be general, you need to make it as Number. If you don’t make it as text, there is a chance of NullPointerException error.

Must Read: How To Install Apache ANT

Below mentioned script shows how to read excel files in Selenium using Apache POI.

Console Output:

Also Read: How to Write Excel Files Using Apache POI In Selenium WebDriver

If you are not regular reader of my blog then I highly recommend you to signup for the free email newsletter using the below link.

Rajkumar SM is a founder of SoftwareTestingMaterial. He is a certified Software Test Engineer by profession and blogger & youtuber by choice. He has an extensive experience in the field of Software Testing. He writes here about Software Testing which includes both Manual and Automation Testing. He loves to be with his wife and cute little kid 'Freedom'.

8 thoughts on “How to Read Excel Files Using Apache POI In Selenium WebDriver”

  1. Hi Sir,

    i need complete Selenium notes how u have given manual. please send it to my mail id
    your way of explanation is very clear . thank you so much for your wonderful job

    Reply
  2. dear sir,
    I am trying your code, but I got an error

    “Exception in thread “main” java.lang.NoClassDefFoundError: org/openxmlformats/schemas/drawingml/x2006/main/ThemeDocument
    at java.lang.Class.getDeclaredConstructors0(Native Method)
    at java.lang.Class.privateGetDeclaredConstructors(Class.java:2671)
    at java.lang.Class.getConstructor0(Class.java:3075)
    at java.lang.Class.getDeclaredConstructor(Class.java:2178)
    at org.apache.poi.xssf.usermodel.XSSFFactory.createDocumentPart(XSSFFactory.java:55)
    at org.apache.poi.POIXMLFactory.createDocumentPart(POIXMLFactory.java:58)
    at org.apache.poi.POIXMLDocumentPart.read(POIXMLDocumentPart.java:580)
    at org.apache.poi.POIXMLDocument.load(POIXMLDocument.java:165)
    at org.apache.poi.xssf.usermodel.XSSFWorkbook.(XSSFWorkbook.java:300)
    at readExcelFile.main(readExcelFile.java:18)
    Caused by: java.lang.ClassNotFoundException: org.openxmlformats.schemas.drawingml.x2006.main.ThemeDocument
    at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:335)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
    … 10 more

    this is my code:
    import java.io.FileInputStream;
    import java.io.FileNotFoundException;
    import java.io.FileOutputStream;
    import java.io.IOException;

    import org.apache.poi.ss.usermodel.Cell;
    import org.apache.poi.ss.usermodel.Row;
    import org.apache.poi.xssf.usermodel.XSSFCell;
    import org.apache.poi.xssf.usermodel.XSSFRow;
    import org.apache.poi.xssf.usermodel.XSSFSheet;
    import org.apache.poi.xssf.usermodel.XSSFWorkbook;

    public class readExcelFile {
    public static void main (String [] args) throws IOException{

    //I have placed an excel file ‘Test.xlsx’ in my D Driver
    FileInputStream fis = new FileInputStream(“/Users/ekobudiharto/Documents/soapUIworkspace/skyvva/testExcelFile.xlsx”);
    XSSFWorkbook wb = new XSSFWorkbook(fis);
    //XSSFSheet sheet = wb.getSheetAt(0);
    ////I have added test data in the cell A1 as “SoftwareTestingMaterial.com”
    ////Cell A1 = row 0 and column 0. It reads first row as 0 and Column A as 0.
    //Row row = sheet.getRow(0);
    //Cell cell = row.getCell(0);
    //System.out.println(cell);
    //System.out.println(sheet.getRow(0).getCell(0));
    ////String cellval = cell.getStringCellValue();
    ////System.out.println(cellval);
    }
    }

    can you tell me what cause the error? I already imported the libraries.

    Reply
  3. Hi Eko Budiharto,

    Are you using Maven Project? which version of poi jars you are using..
    If it is a maven project – Add poi-ooxml-schemas jar dependencies in your pom.xml file
    If it is a java project – Add poi-ooxml-schemas jar in the lib directory.
    Thanks.

    Reply

Leave a Comment

Share via
Copy link
Powered by Social Snap