EasyXLS

How to set page setup options and page breaks 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 for page setup options and page breaks

Execute the following ASP code that exports an Excel file with a specified print area, rows repeated at top, page orientation as portrait, paper size as A4 and other related settings.

<%@ Language=VBScript %>

<!-- #INCLUDE FILE="Alignment.inc" -->
<!-- #INCLUDE FILE="Border.inc" -->
<!-- #INCLUDE FILE="DataType.inc" -->
<!-- #INCLUDE FILE="Header.inc" -->
<!-- #INCLUDE FILE="Footer.inc" -->
<!-- #INCLUDE FILE="PageSetup.inc" -->
<!-- #INCLUDE FILE="Color.inc" -->

<%
'===========================================================================
' Tutorial 09	
'
' This tutorial shows how to create an Excel file in Classic ASP 
' having multiple sheets. The first sheet is filled with data	 
' and the cells are formatted and locked.
' The column header has comments.	
' The first worksheet has header & footer.
' The first worksheet has print area, rows to repeat at top, center on page,
' page orientation, page order, paper size, comments print location,
' print gridlines option and page breaks.
'===========================================================================

response.write("Tutorial 09<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")

' Protect first sheet
workbook.easy_getSheetAt(0).setSheetProtected(true)

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

' Create the formatting style for the header
Set xlsStyleHeader = Server.CreateObject("EasyXLS.ExcelStyle")
xlsStyleHeader.setFont("Verdana")
xlsStyleHeader.setFontSize(8)
xlsStyleHeader.setItalic(True)
xlsStyleHeader.setBold(True)
xlsStyleHeader.setForeground(CLng(COLOR_YELLOW))
xlsStyleHeader.setBackground(CLng(COLOR_BLACK))
xlsStyleHeader.setBorderColors CLng(COLOR_GRAY), CLng(COLOR_GRAY), CLng(COLOR_GRAY), CLng(COLOR_GRAY)
xlsStyleHeader.setBorderStyles BORDER_BORDER_MEDIUM, BORDER_BORDER_MEDIUM, _
                                    BORDER_BORDER_MEDIUM, BORDER_BORDER_MEDIUM
xlsStyleHeader.setHorizontalAlignment(ALIGNMENT_ALIGNMENT_CENTER)
xlsStyleHeader.setVerticalAlignment(ALIGNMENT_ALIGNMENT_BOTTOM)
xlsStyleHeader.setWrap(True)
xlsStyleHeader.setDataType(DATATYPE_STRING)

' 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).setStyle(xlsStyleHeader)

    ' Add comment for report header cells
    xlsFirstTable.easy_getCell(0, column).setComment_2("This is column no " & (column + 1))
next
xlsFirstTable.easy_getRowAt(0).setHeight(30)

' Create a formatting style for cells
Set xlsStyleData = Server.CreateObject("EasyXLS.ExcelStyle")
xlsStyleData.setHorizontalAlignment(ALIGNMENT_ALIGNMENT_LEFT)
xlsStyleData.setForeground(CLng(COLOR_DARKGRAY))
xlsStyleData.setWrap(False)
' Protect cells
xlsStyleData.setLocked(True)
xlsStyleData.setDataType(DATATYPE_STRING)

' Add data in cells for report values
for row = 0 to 99
    for column = 0 to 4
    xlsFirstTable.easy_getCell(row+1,column).setValue("Data " & (row + 1) & ", " & (column + 1))
    xlsFirstTable.easy_getCell(row+1,column).setStyle(xlsStyleData)
    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

' Add header on center section
Set xlsFirstTab = workbook.easy_getSheetAt(0)
xlsFirstTab.easy_getHeaderAt_2(HEADER_POSITION_CENTER).InsertSingleUnderline()
xlsFirstTab.easy_getHeaderAt_2(HEADER_POSITION_CENTER).InsertFile()
xlsFirstTab.easy_getHeaderAt_2(HEADER_POSITION_CENTER).InsertValue(" - How to create header and footer")

' Add header on right section
xlsFirstTab.easy_getHeaderAt_2(HEADER_POSITION_RIGHT).InsertDate()
xlsFirstTab.easy_getHeaderAt_2(HEADER_POSITION_RIGHT).InsertValue(" ")
xlsFirstTab.easy_getHeaderAt_2(HEADER_POSITION_RIGHT).InsertTime()

' Add footer on center section
xlsFirstTab.easy_getFooterAt_2(FOOTER_POSITION_CENTER).InsertPage()
xlsFirstTab.easy_getFooterAt_2(FOOTER_POSITION_CENTER).InsertValue(" of ")
xlsFirstTab.easy_getFooterAt_2(FOOTER_POSITION_CENTER).InsertPages()

' Get the object that stores the page setup options for the first sheet
Set xlsPageSetup = xlsFirstTab.easy_getPageSetup()
' Set print area
xlsPageSetup.easy_setPrintArea_3("A1:E101")
' Set the rows to repeat at top
xlsPageSetup.easy_setRowsToRepeatAtTop_3("$1:$1")
' Set center on page option
xlsPageSetup.setCenterHorizontally(true)
' Set page orientation
xlsPageSetup.setOrientation(PAGESETUP_ORIENTATION_PORTRAIT)
' Set page order
xlsPageSetup.setPageOrder(PAGESETUP_PAGE_ORDER_DOWN_THEN_OVER)
' Set paper size
xlsPageSetup.setPaperSize(PAGESETUP_PAPER_SIZE_A4)
' Set where the comments to be printed
xlsPageSetup.setPrintComments(PAGESETUP_COMMENTS_AT_END_OF_SHEET)
' Set the gridlines to be printed
xlsPageSetup.setPrintGridlines(True)

' Insert page breaks on rows
xlsFirstTable.easy_insertPageBreakAtRow(21)
xlsFirstTable.easy_insertPageBreakAtRow(41)
xlsFirstTable.easy_insertPageBreakAtRow(61)
xlsFirstTable.easy_insertPageBreakAtRow(81)

' Set page break preview for the sheet
xlsFirstTab.setPageBreakPreview(True)

' Export Excel file
response.write("Writing file: C:\Samples\Tutorial09 - Excel page setup.xlsx<br>")
workbook.easy_WriteXLSXFile("C:\Samples\Tutorial09 - Excel page setup.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