Skip to main content
Version: 1.28 (Current)

Create Excel from List

Audience: Low-code Engineers

Skill Prerequisites: Actions, Lists, Tokens

Writes the items of a list to an Excel file (.xlsx) in a portal folder. Each item becomes a row, and you choose which columns to write. The file's URL, path and a download link can be saved as tokens.

The list comes from an earlier action, such as Create List from SQL, Create List from JSON or Create List from a CSV source. In a listing, it can also be the listing's rows.

note

This action requires the Excel feature package (EXGEN) to be licensed.

Typical Use Cases​

  • Export the rows of a listing to an Excel file that users can download
  • Create a report from a list and email it with Send Email
  • Add calculated columns or links with Excel formulas
  • Share data in a password-protected workbook

Don't use it to​

Action NameDescription
Create List from SQLCreates a list from the rows of a query.
Create Excel from SQL queryWrites the result of a query to an Excel file, without a list.
Create Excel from CSV TextWrites CSV text to an Excel file.
Create CSV from ListWrites a list to a CSV file or token.
Create List from Excel (.xlsx)Does the opposite: reads an Excel sheet into a list.
Send EmailSends the file as an attachment.
Redirect to URLSends the user to the file's download link.

Input Parameter Reference​

ParameterDescriptionSupports TokensDefaultRequired
List NameThe name of the list to write, for example ContactsList. If it resolves to empty, the default list of the current context is used, for example the rows of a listing. If the list doesn't exist, the action fails.Yesempty stringYes
FieldsThe columns to write, in order. Each row has an Excel Name, which is the column header, for example Full Name, and a Value, for example [FirstName] [LastName]. In Value, tokens refer to the list item's properties first, then to the other tokens in the context. Hidden when Include All Fields is on.YesemptyYes, unless Include All Fields is on
Include All FieldsWrites every property of the list, using the property names as headers. Properties whose names start with __ are skipped.NofalseNo
Remove Field NamesLeaves out the header row, so the data starts in row 1.NofalseNo
Use excel formulasWrites values that start with = as formulas, for example =B2*C2. See Cell values.NofalseNo
CriteriaWrites only the items that match. Each row has a Property, for example Status, and a Value, for example Active. An item must equal every value to be written. Values support tokens.Yes (values)emptyNo
PatternThe file name, without the extension, for example Contacts-[DateTime:Now|yyyyMMdd]. .xlsx is always added. Leave empty for a random name.Yesempty stringNo
Handle DuplicatesWhat happens if a file with the same name already exists in the folder. Rename adds a unique suffix to the new file's name. Overwrite replaces the existing file.NoRenameYes
File PasswordA password needed to open the file. Leave empty for no password.Yesempty stringNo
Worksheet PasswordProtects the sheet, so users can see the data but not change it without the password. Leave empty for no protection.Yesempty stringNo
FolderThe portal folder to save the file in. Select a folder, or in expression mode enter a folder path relative to the portal root, for example Exports/Contacts. Missing folders are created.Yesnone selectedYes
Disable Force DownloadBy default, the LinkClick URL makes the browser download the file. Turn this on to let the browser open it instead, if it can. Only affects the Store LinkClick Url token.NofalseNo

Output Parameters Reference​

Each output is optional. Enter a token name in the ones you need.

ParameterDescriptionSupports TokensDefaultRequired
Store Absolute URLReceives the file's absolute URL, for example https://example.com/Portals/0/Exports/Contacts.xlsx.Noempty stringNo
Store Relative URLReceives the file's URL relative to the site root, for example /Portals/0/Exports/Contacts.xlsx.Noempty stringNo
Store Physical PathReceives the file's physical path on the server.Noempty stringNo
Store LinkClick UrlReceives a LinkClick URL for the file, for example /LinkClick.aspx?fileticket=....Noempty stringNo

Cell values​

The workbook has one sheet, named Sheet1. The header row, if any, is row 1. Each value is written like this:

ValueWritten as
Starts with =, and Use excel formulas is onA formula. Formulas are calculated before the file is saved.
Starts with '=Text, with the ' removed, for example =Not a formula. Use this to write text that starts with =.
A whole number, for example 42A number
A decimal number, for example 19.99A number. The server's number format decides which decimal separator is recognized.
Starts with 0 and has no decimal point, for example 00123, 0721555123 or 0 itselfText, so leading zeros are kept. 0.5 is still a number.
Anything else, including datesText

Dates are written as text, exactly as they appear in the list or the resolved token. Excel doesn't treat them as dates.

Delivering the file​

The action saves the file but doesn't send it to the user. To deliver it:

  • Redirect the user to the Store LinkClick Url token with Redirect to URL
  • Attach it to an email with Send Email, using the file's URL in Attach from Token
  • Show a link to the file in a message or a page

Considerations​

  • Allowed file extensions. The action adds xlsx to the host's list of allowed file extensions if it isn't there.
  • Don't add the extension to Pattern. Contacts.xlsx becomes Contacts.xlsx.xlsx. Characters that aren't allowed in file names make the action fail.
  • Large lists. The whole workbook is built in memory, and each value goes through token replacement. For many thousands of rows, use Create Excel from SQL query.
  • Folder access. The file is saved with the folder's permissions. Choose a folder that the users who download the file can read, and keep private data out of public folders.
  • Old files. Each run creates a new file unless Handle Duplicates is Overwrite. Clean up old files, for example with Delete File.
  • Action Grid. In a grid, you can hide a column from the export only, with the [SpecialContext:SerializeExcel] token in the field's condition. For example, [MyCondition] == "hide" || [SpecialContext:SerializeExcel].

Examples​

tip

To understand how to use the below examples, please see Running Examples.

This action writes the open items of OrdersList to Exports/Orders-<date>.xlsx. The Link column is a HYPERLINK formula that opens each order on the website. The LinkClick URL of the file is saved in the OrdersFileUrl token.

{
"Title": "Create Excel from List",
"ActionType": "ExcelFromEntityList",
"Description": "Export open orders",
"Parameters": {
"EntityName": "OrdersList",
"Fields": [
{
"name": "Order",
"value": "[OrderNumber]"
},
{
"name": "Quantity",
"value": "[Quantity]"
},
{
"name": "Price",
"value": "[Price]"
},
{
"name": "Link",
"value": "=HYPERLINK(\"https://example.com/orders/[OrderId]\", \"Open order\")"
}
],
"IncludeAllFields": false,
"RemoveFieldNames": false,
"UseFormulas": true,
"Criteria": [
{
"name": "Status",
"value": "Open"
}
],
"Pattern": "Orders-[DateTime:Now|yyyyMMdd]",
"Duplicates": "Overwrite",
"Folder": {
"Expression": "Exports",
"Value": "",
"IsExpression": true,
"Parameters": {}
},
"StoreLinkClick": "OrdersFileUrl",
"DisableForceDownload": false
}
}

2. Export every column to a protected workbook​

This action writes every property of EmployeesList to a file with a random name in the HR/Exports folder. The file needs the password in the [ExportPassword] token to open. The absolute URL is saved in the EmployeesFileUrl token, for example to include in an email.

{
"Title": "Create Excel from List",
"ActionType": "ExcelFromEntityList",
"Description": "Export employees",
"Parameters": {
"EntityName": "EmployeesList",
"IncludeAllFields": true,
"RemoveFieldNames": false,
"UseFormulas": false,
"Criteria": [],
"Pattern": "",
"Duplicates": "Rename",
"FilePassword": "[ExportPassword]",
"WorksheetPassword": "",
"Folder": {
"Expression": "HR/Exports",
"Value": "",
"IsExpression": true,
"Parameters": {}
},
"StoreAbsoluteURL": "EmployeesFileUrl"
}
}

Revised 09/26/2026