Java Read Excel Workbook from File using Apache POI
Tags: Apache POI Excel File
In this Java Apache POI tutorial we learn how to use the WorkbookFactory class of Apache POI library to read an Excel Workbook from a given java.io.File object.
Table of contents
- Add Apache POI dependencies to Java project
- How to read Excel Workbook from File in Java
- Example Java Program to Read Excel Workbook from File
Add Apache POI dependencies to Java project
If you use Gradle build project, add the following dependencies to the build.gradle file.
implementation group: 'org.apache.poi', name: 'poi', version: '5.2.2'
implementation group: 'org.apache.poi', name: 'poi-ooxml', version: '5.2.2'
If you use Maven build project, add the following dependencies to the pom.xml file.
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version>5.2.2</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>5.2.2</version>
</dependency>
How to read Excel Workbook from File in Java
With a given File object, we can use the WorkbookFactory.create(File file) static method to create an appropriate HSSFWorkbook / XSSFWorkbook object from a given File as Java code below.
String fileName = "contacts.xlsx";
File file = new File(fileName);
try(Workbook workbook = WorkbookFactory.create(file)) {
// Read Excel file content
} catch (IOException e) {
}
Example Java Program to Read Excel Workbook from File
For example, we have an Excel file named contacts.xlsx with data as the screenshot below.
In the following example Java program, we show how use the WorkbookFactory.create(File file) method to get the Excel Workbook and read Excel file data.
ReadExcelWorkbookFromFileExample1.java
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.ss.usermodel.Workbook;
import org.apache.poi.ss.usermodel.WorkbookFactory;
import java.io.File;
import java.io.IOException;
import java.util.Iterator;
public class ReadExcelWorkbookFromFileExample1 {
public static void main(String... args) {
String fileName = "contacts.xlsx";
File file = new File(fileName);
try(Workbook workbook = WorkbookFactory.create(file)) {
Sheet sheet = workbook.getSheetAt(0);
Iterator<Row> rowIterator = sheet.rowIterator();
while (rowIterator.hasNext()) {
Row row = rowIterator.next();
Iterator<Cell> cellIterator = row.cellIterator();
while(cellIterator.hasNext()) {
Cell cell = cellIterator.next();
String cellData = cell.getStringCellValue();
System.out.print(cellData + "\t");
}
System.out.println();
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
First Name Last Name Email
Rayhan Harmon rayhan@simplesolution.dev
Paddy Sheridan paddy@simplesolution.dev
Clara Callaghan clara@simplesolution.dev
Josephine Amos josephine@simplesolution.dev
Sheikh Tucker sheikh@simplesolution.dev
Happy Coding 😊
Related Articles
Java Read Excel Workbook from InputStream using Apache POI
Java Read Excel File using Apache POI
Java Create Excel File .xlsx using Apache POI
Spring Boot Download Excel File Export from MySQL Database
Spring Boot Web Application Download Excel File
Java Read Password Protected Excel File using Apache POI
Java How to Iterate over Sheets Rows and Cells of Excel file using Apache POI
Java Add Rows to Existing Excel File using Apache POI
Java Add Sheet to Existing Excel File using Apache POI