EasyXLS

How to apply auto-filter in ColdFusion

EasyXLS Excel library can be used to export Excel files in ColdFusion. The library works without MS Excel installed.

Step 1: Download and install EasyXLS Excel Library for Java

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

Download EasyXLS™ Excel Library for Coldfusion

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

Step 2: Add EasyXLS library to CLASSPATH in ColdFusion Administator

EasyXLS.jar must be included to class path for Java runtime environment. EasyXLS.jar can be found after installing EasyXLS, in "Lib" folder.

Add EasyXLS library to CLASSPATH

Another solution is to add EasyXLS.jar to "lib" folder from ColdFusion installation path.

Step 3: Run ColdFusion code that applies auto-filter to Excel data

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

<!--
=============================================================
Tutorial 20

This tutorial shows how to create an Excel file in ColdFusion
and apply an auto-filter to a range of cells.
=============================================================
-->

<!-- Constants Classes -->
<cfobject type="java" class="EasyXLS.Constants.DataType" name="DataType" action="CREATE">

Tutorial 20<br>
----------<br>

<!-- Create an instance of the class that exports Excel -->
<cfobject type="java" class="EasyXLS.ExcelDocument" name="workbook" action="CREATE">

<!-- Create two worksheets -->
<cfset ret = workbook.easy_addWorksheet("Sheet1")>

<!-- Get the table of data for the worksheet -->
<cfset xlsTab = workbook.easy_getSheet("Sheet1")>
<cfset xlsTable = xlsTab.easy_getExcelTable()>

<!-- Add data in cells for report header -->
<cfloop from="0" to="4" index="column">
    <cfset xlsTable.easy_getCell(0, evaluate(column)).setValue("Column " & evaluate(column + 1))>
    <cfset xlsTable.easy_getCell(0, evaluate(column)).setDataType(DataType.STRING)>
</cfloop>

<!-- Add data in cells for report values -->
<cfloop from="0" to="99" index="row">
    <cfloop from="0" to="4" index="column">
        <cfset xlsTable.easy_getCell(evaluate(row + 1), evaluate(column)).setValue(
                                     "Data " & evaluate(row + 1) & ", " & evaluate(column + 1))>
        <cfset xlsTable.easy_getCell(evaluate(row + 1), evaluate(column)).setDataType(DataType.STRING)>
    </cfloop>
</cfloop>

<!-- Apply auto-filter on cell range A1:E1 -->
<cfset xlsFilter = xlsTab.easy_getFilter()>
<cfset xlsFilter.setAutoFilter("A1:E1")>

<!-- Export Excel file -->
Writing file C:\Samples\Tutorial20 - autofilter in Excel sheet.xlsx<br>
<cfset ret = workbook.easy_WriteXLSXFile("C:\Samples\Tutorial20 - autofilter in Excel sheet.xlsx")>

<!-- Confirm export of Excel file -->
<cfset sError = workbook.easy_getError()>
<cfif (sError is "")>
    <cfoutput>
        File successfully created.
    </cfoutput>
<cfelse>
    <cfoutput>
        Error encountered: #sError#
    </cfoutput>
</cfif>

<!-- Dispose memory -->
<cfset workbook.Dispose()>

EasyXLS Excel libraries:

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

File formats:

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