Write data in .xls and .xlsx (Excel) file using POI

Posted on

As we know that file is very most important in our day to day life, we frequently use to create a file, open it and update or delete something from file. Same thing in selenium automation as well we need to manipulate the file.

So, In this blog we will learn how to install the poi jar file, what jar file are required for that and how to perform the read operation on excel with the help of JAVA IO package and APACHE POI library.

POI library is enough to read write both XLS and XLSX file.

Note : For .XLS file read write, we can use .JXL jar file but it won’t support to .xlsx file.

 

Let’s begin the journey: – 

Step 1. If you haven’t eclipse then Install the Eclipse latest version.

Step 2. If you haven’t added WebDriver then download the webdriver jar file and add to library.

Step 3. If you are using Maven then use the following dependencies.

                           <!– https://mvnrepository.com/artifact/org.apache.poi/poi –>

                                                        <dependency>

                                                                <groupId>org.apache.poi</groupId>

                                                                <artifactId>poi</artifactId>

                                                                <version>4.0.1</version>

                                                         </dependency>

Or else you can directly download latest POI jar file from https://poi.apache.org/download.html

Step 4. Once the downloaded jar file then unzip the file and add library file into your project.

Right click on your project -> Build Path -> Configure Build Path-> Library -> Add External Jar-> ok

Note: Below are java interfaces and classes that we will use for read/write xls and xlsx file in POI

XSSFWorkbook : – Is a class representation of XLSX file.

HSSFWrokbook  : – Is a class represent of XLS file.

XSSFSheet :- XSSFSheet classes implement this interface represent XLSX file’s sheet.

HSSFSheet : – HSSFSheet classes implement this interface XLS file’s sheet.

XSSFRow :- XSSFSheet classes implement this interface represent to a row of XLSX file.

HSSFRow : – HSSFSheet classes implement this interface represent to a row of XLS file.

XSSFCell :- XSSFSheet classes implement this interface represent a cell in a row of XLSX file.

HSSFCell : – HSSFSheet classes implement this interface represent a cell in a row of XLS file.

 

Write Data in Excel sheet

package Account;

import java.io.File;

import java.io.FileInputStream;

import java.io.FileOutputStream;

import java.io.IOException;

 

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

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

 

String ctVal= “Status”;

 

// File Location

File src = new File(“D://Dazeworks//Selenium Projects//Credential.xlsx”);

// Open File using FileInputStream class

FileInputStream fis = new FileInputStream(src);

 

// Create Workbook instance holding reference to .xlsx file

XSSFWorkbook workbook = new XSSFWorkbook(fis);

 

// Get first/desired sheet from the workbook

XSSFSheet sheet = workbook.getSheetAt(0);

// Entering a value in Row[0] and Cell[4]. Here cell is nothing but Column number

sheet.getRow(0).createCell(4).setCellValue(ctVal);

 

// If user want to enter value as per choice row then Needs to create row where he wants to get enter the value

XSSFRow r = sheet.createRow(14);

//Create a cell for the value where you want to enter.

XSSFCell c = r.createCell(10);

//Entering the Value for particular cell

c.setCellValue(“How’s Josh????”);

//Using FileOutputStream we will get in which file we have to write

FileOutputStream fos = new FileOutputStream(src);

// Writing in the values in workbook

workbook.write(fos);

//File close

fos.close();

 

System.out.println(“Value inserted successfully”);

}

 

}

 

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s