How to read from Excel file in Java?

Reading from Excel Files in Java: A Comprehensive Guide

Introduction

Reading from Excel files is a common task in Java programming, especially when working with data analysis, reporting, or data visualization. Excel files are widely used for storing and managing data, and Java provides a simple and efficient way to read and manipulate these files. In this article, we will explore the different ways to read from Excel files in Java, including using the built-in java.util.Scanner class, the Apache POI library, and the jxl library.

Using the Built-in java.util.Scanner Class

The java.util.Scanner class is a built-in Java class that allows you to read from a file. Here’s an example of how to use it to read from an Excel file:

import java.io.File;
import java.io.FileNotFoundException;
import java.util.Scanner;

public class ExcelReader {
public static void main(String[] args) {
// Specify the file path and name
String filePath = "example.xlsx";

// Create a Scanner object to read from the file
Scanner scanner = new Scanner(new File(filePath));

// Read the file line by line
while (scanner.hasNextLine()) {
String line = scanner.nextLine();
System.out.println(line);
}

// Close the Scanner object
scanner.close();
}
}

Using the Apache POI Library

The Apache POI library is a popular open-source library for working with Microsoft Office files, including Excel files. Here’s an example of how to use it to read from an Excel file:

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.xssf.usermodel.XSSFWorkbook;

public class ExcelReader {
public static void main(String[] args) {
// Specify the file path and name
String filePath = "example.xlsx";

// Create a Workbook object to read from the file
Workbook workbook = new XSSFWorkbook(new File(filePath));

// Get the first sheet in the workbook
Sheet sheet = workbook.getSheetAt(0);

// Iterate over the rows in the sheet
for (Row row : sheet) {
// Iterate over the cells in the row
for (Cell cell : row) {
System.out.println(cell.toString());
}
}

// Close the Workbook object
workbook.close();
}
}

Using the jxl Library

The jxl library is a Java library for working with Excel files. Here’s an example of how to use it to read from an Excel file:

import org.jxl.Workbook;
import org.jxl.WorkbookFactory;
import org.jxl.WorkbookDef;
import org.jxl.charts.XYChart;
import org.jxl.charts.XYColumn;
import org.jxl.charts.XYRow;
import org.jxl.io.XLSFile;

public class ExcelReader {
public static void main(String[] args) {
// Specify the file path and name
String filePath = "example.xlsx";

// Create a Workbook object to read from the file
Workbook workbook = WorkbookFactory.create(new File(filePath));

// Get the first sheet in the workbook
XLSFile sheet = workbook.getSheetAt(0);

// Iterate over the rows in the sheet
for (XYRow row : sheet.getRows()) {
// Iterate over the cells in the row
for (XYColumn column : row.getColumns()) {
System.out.println(column.getValues());
}
}

// Close the Workbook object
workbook.close();
}
}

Tips and Variations

  • To read from an Excel file with a specific version (e.g., Excel 2007), use the XLSX file format instead of XLS.
  • To read from an Excel file with a specific sheet (e.g., Sheet1), use the getSheetByIndex method instead of getSheetAt(0).
  • To read from an Excel file with a specific range (e.g., A1:B2), use the getSheetByIndex method with the getRange method instead of getSheetAt(0).

Conclusion

Reading from Excel files in Java is a straightforward process that can be accomplished using the built-in java.util.Scanner class, the Apache POI library, or the jxl library. Each library has its own strengths and weaknesses, and the choice of which library to use depends on the specific requirements of your project. By following the examples in this article, you should be able to read from Excel files in Java with ease.

Table of Contents

Unlock the Future: Watch Our Essential Tech Videos!


Leave a Comment

Your email address will not be published. Required fields are marked *

Scroll to Top