ClientExcelExporter is a client-side Excel report generator for OutSystems Reactive Applications, built on top of ExcelJS and executed entirely in the browser using JavaScript.It converts JSON data into a professionally formatted Excel file, supporting branding, dynamic headers, automatic column detection, and performance-oriented client-side execution.
No server actions are required.
100% client-side execution (no server load)
Fast Excel generation using browser memory
JSON key-value input with automatic structure flattening
Automatic column detection and sizing
Optional logo insertion
Custom project name and report title
Date column auto-detection and formatting
Frozen header row and Excel filters
Alternating row styles for readability
JSON
JSON array containing the data to be exported.
Example
[ { "SupplierName": "ABC Ltd", "CreatedAt": "2025-01-10", "Address": { "City": "São Paulo", "Country": "Brazil" } } ]
Nested objects are automatically flattened into columns.
ProjectName
Displayed as the main header of the Excel file.
ExcelTitle
Displayed as a subtitle below the project name.
Filename
Name of the generated Excel file (without .xlsx).
.xlsx
Logo
Company or project logo displayed at the top-left of the report.
Supported formats
PNG
Taking this list of products as example, when clicking on the Export Excel button, the export result is available the next image;
Automatically downloads a .xlsx Excel file
Fully formatted and ready for business use
Nested objects are flattened using _ as separator:
_
{ "Address": { "City": "Rio", "Country": "BR" } }
Becomes:
Address_City Address_Country
All keys across all objects are collected
Columns are created dynamically
Missing values are handled gracefully
Column width is calculated based on:
Header text length
Sample data values (first 50 rows)
This ensures readability without manual configuration.
A column is automatically formatted as a date when:
The column name contains keywords like:date, created, updated, issued, delivery, etc.
date
created
updated
issued
delivery
Sample values match common date formats
Applied Excel format
mm/dd/yyyy
Bold and shaded header row
Alternating row background colors
Text wrapping enabled
Vertical and horizontal alignment
Thin row separators
Auto-filter enabled on header
Header row frozen for scrolling
Entirely client-side
No round trips to the server
Best suited for small to medium datasets
Recommended logo size: < 500 KB
ExcelJS supports only png and jpeg
png
jpeg
Very large datasets may impact browser memory
SVG and WebP images are not supported
Operational reports
Dashboards export
Administrative data extraction
Audit and compliance reports
Customer-facing Excel downloads
OutSystems Reactive Applications
Modern browsers (Chrome, Edge, Firefox)
No server actions required
ClientExcelExporter provides a fast, flexible, and enterprise-ready way to generate Excel reports directly in the browser, making it ideal for modern OutSystems applications that prioritize performance, scalability, and user experience.
Example of list to be exported:
Here is the final result.