How to apply auto-filter in Java

EasyXLS Excel library can be used to export Excel files in Java. The library works with any Java SE application and without MS Excel installed.

Step 1: Download EasyXLS Excel Library for Java

To download the trial version of EasyXLS Excel Library, press the below button:

Download EasyXLS™ Excel Library for Java

If you already own a license key, you may login and download EasyXLS from your account.

Install the downloaded EasyXLS installer for v8.6 or earlier.

Step 2: Create a Java project

If don't have a project already, create a new Java project.

Step 3: Include EasyXLS library into project

EasyXLS.jar must be added to external libraries into your project for Eclipse or to your application CLASSPATH.

EasyXLS.jar can be found:
- Inside the downloaded archive at Step 1 for EasyXLS v9.0 or later
- Under installation path for EasyXLS v8.6 or earlier, in "Lib" folder.

Add EasyXLS library to CLASSPATH

Step 4: Run Java code that applies auto-filter to Excel data

Execute the following Java code that exports data with autofilter to Excel.

package testexceljava;

import EasyXLS.*;
import EasyXLS.Constants.*;

/* -------------------------------------------------------
 | Tutorial 20
 | This tutorial shows how to create an Excel file in Java
 | and apply an auto-filter to a range of cells.
 * ------------------------------------------------------- */

public class Tutorial20 {

    public static void main(String[] args) {
        try {
            System.out.println("Tutorial 20");

            // Create an instance of the class that exports Excel files having one sheet
            ExcelDocument workbook = new ExcelDocument(1);

            // Get the table of data for the worksheet
            ExcelWorksheet xlsTab  = ((ExcelWorksheet)workbook.easy_getSheet("Sheet1"));
            ExcelTable xlsTable = xlsTab.easy_getExcelTable();

            // Add data in cells for report header
            for (int column=0; column<5; column++)
                xlsTable.easy_getCell(0,column).setValue("Column " + (column + 1));

            // Add data in cells for report values
            for (int row=0; row<100; row++)
                for (int column=0; column<5; column++)
                    xlsTable.easy_getCell(row+1,column).setValue("Data " + (row + 1) + ", " + (column + 1));

            // Apply auto-filter on cell range A1:E1
            ExcelFilter xlsFilter = xlsTab.easy_getFilter();

            // Export Excel file
            System.out.println("Writing file: C:\\Samples\\Tutorial20 - autofilter in Excel sheet.xlsx");
            workbook.easy_WriteXLSXFile("C:\\Samples\\Tutorial20 - autofilter in Excel sheet.xlsx");

            // Confirm export of Excel file
            if (workbook.easy_getError().equals(""))
                System.out.println("File successfully created.");
                System.out.println("Error encountered: " + workbook.easy_getError());

            // Dispose memory
        catch (Exception ex) {

EasyXLS Excel libraries:

Excel Library for Java
full Java version to import, export or convert Excel files
Excel Writer for Java
Java version to create and export Excel files
Download EasyXLS™ Excel Library for Java

File formats:

MS Excel 97 - 2003
MS Excel 2007 - 2019
MS Excel 2021
Office 365