How to export List to Excel in ColdFusion

Tutorial 01

This tutorial shows how to export list to Excel file in Coldfusion. (1).
The list contains data from a SQL database.
The cells are formatted using a predefined format (2).
Click here to see the result

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

Tutorial 01<br>

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

<!-- Query the database -->
<cfquery name="myQuery" datasource="northwind">
SELECT TOP 100 CAST(Month(ord.OrderDate) AS varchar) + '/' + CAST(Day(ord.OrderDate) AS varchar) + 
'/' + CAST(year(ord.OrderDate) AS varchar) AS 'Order_Date', 
P.ProductName AS 'Product_Name', O.UnitPrice AS Price, O.Quantity, 
O.UnitPrice * O. Quantity AS Value 
FROM Orders AS ord, [Order Details] AS O, Products AS P 
WHERE O.ProductID = P.ProductID AND O.OrderID = ord.OrderID

<!-- Create the list that stores the query values -->
<cfobject type="java" class="EasyXLS.Util.List" name="lstRows" action="CREATE">

<!-- Add the report header row to the list -->
<cfobject type="java" class="EasyXLS.Util.List" name="lstHeaderRow" action="CREATE">
<cfset lstHeaderRow.addElement("Order Date")>
<cfset lstHeaderRow.addElement("Product Name")>
<cfset lstHeaderRow.addElement("Price")>
<cfset lstHeaderRow.addElement("Quantity")>
<cfset lstHeaderRow.addElement("Value")>
<cfset lstRows.addElement(lstHeaderRow)>

<!-- Add the query values from the database to the list -->
<cfloop query="myQuery" >
    <cfobject type="java" class="EasyXLS.Util.List" name="RowList" action="CREATE">
    <cfset RowList.addElement(#Order_Date#)>
    <cfset RowList.addElement(#Product_Name#)>
    <cfset RowList.addElement(#Price#)>
    <cfset RowList.addElement(#Quantity#)>
    <cfset RowList.addElement(#Value#)>
    <cfset lstRows.addElement(RowList)>

<!-- Create an instance of the class used to format the cells (2)-->
<cfobject type="java" class="EasyXLS.ExcelAutoFormat" name="xlsAutoFormat" action="CREATE">
<cfset xlsAutoFormat.InitAs(Styles.AUTOFORMAT_EASYXLS1)>

<!-- Export list to Excel file -->
Writing file C:\Samples\Tutorial01.xls<br>
<cfset ret = workbook.easy_WriteXLSFile_FromList("C:\Samples\Tutorial01.xls", lstRows, xlsAutoFormat, "Sheet1")>

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

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

EasyXLS Excel libraries:

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
Express Excel Writer for ColdFusion
limited Java version to create and export Excel files in predefined formats
Download EasyXLS™ Excel Library for ColdFusion

File formats:

MS Excel 97 - 2003
MS Excel 2007 - 2010
MS Excel 2013
MS Excel 2016
MS Excel 2019