EasyXLS

How to group rows or columns in Classic ASP

EasyXLS Excel library can be used to export Excel files in Classic ASP. The library is a COM+ component that works without MS Excel installed.

Step 1: Download and install EasyXLS Excel Library for COM+

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

Download EasyXLS™ Excel Library for Classic ASP

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

Step 2: Verify if EasyXLS is registered

Check if EasyXLS component is present in Component Services.

Step 3: License file setup

Step required for EasyXLS v9.0 or later.

If you are using a trial, generate a trial license file from EasyXLS trials page. The trial license is valid for 30-days.

If you own a license key, you may login to the account that purchased the license and generate the license file from:
https://www.easyxls.com/my-orders

Setup the license file into your project using these guidelines.

Step 4: Run ASP code that groups data in Excel sheet

Execute the following ASP code that groups data on the first sheet of an Excel file on two outline levels.

<%@ Language=VBScript %>

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

<%
'====================================================================================
' Tutorial 17
'
' This tutorial shows how to create an Excel file with groups on rows in Classic ASP.
' The Excel file has two worksheets. The first one is full with data and contains the
' data groups.
'====================================================================================

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

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

' Create two sheets
workbook.easy_addWorksheet_2("First tab")
workbook.easy_addWorksheet_2("Second tab")

' Get the table of data for the first worksheet
Set xlsFirstTable = workbook.easy_getSheetAt(0).easy_getExcelTable()

' Add data in cells for report header
for column = 0 to 4
    xlsFirstTable.easy_getCell(0,column).setValue("Column " & (column + 1))
    xlsFirstTable.easy_getCell(0,column).setDataType(DATATYPE_STRING)
next
xlsFirstTable.easy_getRowAt(0).setHeight(30)

' Add data in cells for report values
for row = 0 to 24
    for column = 0 to 4
        xlsFirstTable.easy_getCell(row+1,column).setValue("Data " & (row + 1) & ", " & (column + 1))
        xlsFirstTable.easy_getCell(row+1,column).setDataType(DATATYPE_STRING)
    next
next

' Set column widths
xlsFirstTable.setColumnWidth_2 0, 70
xlsFirstTable.setColumnWidth_2 1, 100
xlsFirstTable.setColumnWidth_2 2, 70
xlsFirstTable.setColumnWidth_2 3, 100
xlsFirstTable.setColumnWidth_2 4, 70

' Group rows and format A1:E26 cell range
Set xlsFirstDataGroup = Server.CreateObject("EasyXLS.ExcelDataGroup")
xlsFirstDataGroup.setRange_2 ("A1:E26")
xlsFirstDataGroup.setGroupType (DATAGROUP_GROUP_BY_ROWS)
xlsFirstDataGroup.setCollapsed (False)
Dim xlsAutoFormat
Set xlsAutoFormat = Server.CreateObject("EasyXLS.ExcelAutoFormat")
xlsAutoFormat.InitAs (AUTOFORMAT_EASYXLS1)
xlsFirstDataGroup.setAutoFormat (xlsAutoFormat)
workbook.easy_getSheetAt(0).easy_addDataGroup (xlsFirstDataGroup)

' Group rows and format A2:E10 cell range, outline level two, inside previous group
Set xlsSecondDataGroup = Server.CreateObject("EasyXLS.ExcelDataGroup")
xlsSecondDataGroup.setRange_2 ("A2:E10")
xlsSecondDataGroup.setGroupType (DATAGROUP_GROUP_BY_ROWS)
xlsSecondDataGroup.setCollapsed (False)
Dim xlsAutoFormat2
Set xlsAutoFormat2 = Server.CreateObject("EasyXLS.ExcelAutoFormat")
xlsAutoFormat2.InitAs (AUTOFORMAT_EASYXLS2)
xlsSecondDataGroup.setAutoFormat (xlsAutoFormat2)
workbook.easy_getSheetAt(0).easy_addDataGroup (xlsSecondDataGroup)

' Export Excel file
response.write("Writing file: C:\Samples\Tutorial17 - group data in Excel.xlsx<br>")
workbook.easy_WriteXLSXFile ("C:\Samples\Tutorial17 - group data in Excel.xlsx")

' 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

' 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 Classic ASP
full COM+ version to import, export or convert Excel files
Excel Writer for Classic ASP
COM+ version to create and export Excel files
Download EasyXLS™ Excel Component for Classic ASP

File formats:

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