Poi For Xlsx Read In Selenium For Mac



Excel files (spreadsheets) are widely used by people all over the world for various tasks related to organization, analysis, and storage of tabular data.

Lets take the below sample excel sheet we will read in selenium now. File Name: ReadWriteExcelPadhle.xlsx Sheet Name: PadhleReadExcel. Pseudo code for reading excel data in JAVA selenium. 1) Create the File Class object to get the Excel file. 2) Create the object of FileInputStream Class to read the file.

The Apache POI Project's mission is to create and maintain Java APIs for manipulating various file formats based upon the Office Open XML standards (OOXML). To read or write an Excel, Apache provides a very famous library POI. This library is capable enough to read and write both XLS and XLSX file format of Excel. But, Apache POI is one of the most used libraries, which provides various classes and methods to read/write data from various formats of Excel files(xls, xlsx etc). Subsequently, in this article, we will understand the details of Apache POI and how we can use the same to read/write data from Excel files, by covering the details under the. I will describe you how to use excel files in your test automation projects for data driven testing and integrate Apache POI libraries.

Since excel files are so common, we developers often encounter use-cases when we need to read data from an excel file or generate a report in excel format.

In this article, I’ll show you how to read excel files in Java using a very simple yet powerful open source library called Apache POI.

And in the next article, You’ll learn how to create and write to an excel file using Apache POI.

Let’s get started!

Dependencies

First of all, We need to add the required dependencies for including Apache POI in our project. If you use maven, you need to add the following dependencies to your pom.xml file -

Maven

Gradle

If you use gradle then you can add the following to your build.gradle file

The first dependency poi is used to work with the old Microsoft’s binary file format for excel. These file formats have .xls extension.

The second dependency poi-ooxml is used to work with the newer XML based file format. These file formats have .xlsx extension.

Sample Excel file that We’ll read

Poi For Xlsx Read In Selenium For Mac

Following is a sample excel file that we’ll read in our code. It is created using Google Sheets and has .xlsx extension.

Note that, Although the sample file is of the newer XML based file format (.xlsx). The code that we’ll write will work with both types of file formats - .xls and .xlsx

Poi For Xlsx Read In Selenium For Mac File

For

Apache POI terminologies

Apache POI excel library revolves around following four key interfaces -

  1. Workbook: A workbook is the high-level representation of a Spreadsheet.

  2. Sheet: A workbook may contain many sheets. The sample excel file that we looked at in the previous section has two sheets - Employee and Department

  3. Row: As the name suggests, It represents a row in the spreadsheet.

  4. Cell: A cell represents a column in the spreadsheet.

Mac

HSSF and XSSF implementations -

Apache POI library consists of two different implementations for all the above interfaces.

XlsxPoi For Xlsx Read In Selenium For Mac
  1. HSSF (Horrible SpreadSheet Format): HSSF implementations of POI’s high-level interfaces like HSSFWorkbook, HSSFSheet, HSSFRow and HSSFCell are used to work with excel files of the older binary file format - .xls

  2. XSSF (XML SpreadSheet Format): XSSF implementations are used to work with the newer XML based file format - .xlsx.

Program to Read an excel file using Apache POI

The following program shows you how to read an excel file using Apache POI. Since we’re not using any file format specific POI classes, the program will work for both types of file formats - .xls and .xlsx.

The program shows three different ways of iterating over sheets, rows, and columns in the excel file -

Note that we’re not even using the concrete classes like HSSFWorkbook and XSSFWorkbook to create an instance of the Workbook. We’re creating the workbook using a WorkbookFactory instead. This makes our program format independent and it works for both types of files - .xls and .xlsx.

The program shows three different ways to iterate over sheets, rows, and columns. I prefer the Java 8 forEach loop with a lambda expression. You may use whichever method you like.

Note that, I’ve used a DataFormatter to format and get each cell’s value as String.

Retrieving Cell values by CellType

Instead of using a DataFormatter to format and get each cell’s value as String regardless of the Cell type, You may check each cell’s type and then retrieve its value using various type-specific methods like this -

You may now call the above method in the main program to print each cell’s value -

Poi For Xlsx Read In Selenium For Mac Catalina

Conclusion

That’s all folks! In this article, You learned how to read excel files in Java using Apache POI library. You can find the entire source code on the github repository.

Also, Don’t forget to check out the next article to learn how to create and write to an excel file using Apache POI

Poi For Xlsx Read In Selenium For Mac Os

Thank you for reading. Until next time!