EasyXLS

How to export List to Excel in ASP classic

<%@ Language=VBScript %>

<!-- #INCLUDE FILE="Styles.inc" -->

<%
'==========================================================================
' Tutorial 01
'
' This tutorial shows how to export list to Excel file in ASP classic. (1) 
' The list contains data from a SQL database.
' The cells are formatted using a predefined format (2).
'==========================================================================
Click here to see the Excel file

response.write("Tutorial 01<br>")
response.write("----------<br>")

' Create an instance of the class that exports Excel files (1) 
Set workbook = Server.CreateObject("EasyXLS.ExcelDocument")

' Create the database connection
Dim objConn
Set objConn = Server.CreateObject("ADODB.Connection")
objConn.ConnectionString = "Provider=SQLOLEDB;Server=(local);Database=northwind;User ID=sa;Password=;"
objConn.Open

' Query the database
Dim sQueryString
sQueryString = "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, " & _
               "CAST(O.Quantity AS varchar) AS 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"
Dim objRS
Set objRS = Server.CreateObject("ADODB.Recordset")
objRS.Open sQueryString, objConn

' Create the list that stores the query values
Dim lstRows 
Set lstRows = CreateObject("EasyXLS.Util.List")

' Add the report header row to the list
Dim lstHeaderRow 	
Set lstHeaderRow = Server.CreateObject("EasyXLS.Util.List")
lstHeaderRow.addElement("Order Date")
lstHeaderRow.addElement("Product Name")
lstHeaderRow.addElement("Price")
lstHeaderRow.addElement("Quantity")
lstHeaderRow.addElement("Value")
lstRows.addElement(lstHeaderRow)

' Add the query values from the database to the list
Do Until objRS.EOF = True
    Set RowList = Server.CreateObject("EasyXLS.Util.List")
    RowList.addElement("" & objRS("Order Date"))
    RowList.addElement("" & objRS("Product Name"))
    RowList.addElement("" & objRS("Price"))
    RowList.addElement("" & objRS("Quantity"))
    RowList.addElement("" & objRS("Value"))
    lstRows.addElement(RowList)
    objRS.MoveNext
Loop

' Create an instance of the class used to format the cells (2)
Dim xlsAutoFormat
Set xlsAutoFormat = Server.CreateObject("EasyXLS.ExcelAutoFormat")
xlsAutoFormat.InitAs(AUTOFORMAT_EASYXLS1)

' Export list to Excel file
response.write("Writing file: C:\Samples\Tutorial01.xls<br>")
workbook.easy_WriteXLSFile_FromList_2 "C:\Samples\Tutorial01.xls", lstRows, xlsAutoFormat, "Sheet1"

' Confirm export of Excel file
if workbook.easy_getError() = "" then
    response.write("File successfully created.")
else
    response.write("Error encountered: " + workbook.easy_getError())
end if

' Close database connection
objRS.Close
Set objRS = Nothing
objConn.Close
Set objConn = Nothing

' Dispose memory
workbook.Dispose  
%>

Overloaded methods
For methods with same name but different parameters, only the first method overload retains the original name. Subsequent overloads are uniquely renamed by appending to the method name '_2', '_3', etc (method, method_2, method_3), an integer that corresponds to the order of declaration that can be found in EasyXLS.h, a file that comes with EasyXLS installation.

EasyXLS Excel components:

.NET
Excel Library for ASP classic
full COM+ version to import, export or convert Excel files
Excel Writer for ASP classic
COM+ version to create and export Excel files
Express Excel Writer for ASP classic
limited COM+ version to create and export Excel files in predefined formats
Download EasyXLS™ Excel Component for ASP classic

File formats:

MS Excel 97 - 2003
MS Excel 2007 - 2010
MS Excel 2013
MS Excel 2016
MS Excel 2019
XLSX XLSM XLSB XLS
XML HTML CSV TXT