xlsx-to-dsv-converter
Service icon

XLSX to DSV Converter

Stable version 1.0.0 (Compatible with OutSystems 11)
Uploaded
 on 26 Feb (13 hours ago)
 by 
0.0
 (0 ratings)
xlsx-to-dsv-converter

XLSX to DSV Converter

Documentation
1.0.0

Component Name

XLSX to DSV Converter


Overview

XLSX to DSV Converter is a reusable OutSystems component that converts Microsoft Excel (.xlsx) files into customizable Delimiter-Separated Value (DSV) formatted text.

The component reads Excel files using DocumentFormat.OpenXml, ensuring enterprise-safe distribution without commercial licensing dependencies. It generates structured output where each worksheet row becomes a new line in the resulting DSV content while preserving column alignment and formatting integrity.


Purpose

This component enables structured extraction of Excel data into flat-file formats suitable for:

  • Data migration

  • System integrations

  • ERP and SAP imports

  • ETL pipelines

  • Batch processing

  • Flat-file generation

  • Legacy system interfaces

It ensures consistent, predictable output even when Excel files contain mixed data types and formatting rules.


Key Features

  • Converts XLSX files into custom delimiter formats

  • Supports configurable delimiter characters

  • Preserves column alignment, including empty or missing cells

  • Processes the first worksheet automatically

  • Supports shared strings and inline strings

  • Handles boolean values

  • Applies percent formatting

  • Converts Excel serial dates into readable date format

  • Applies currency formatting

  • Supports custom number formats

  • Returns cached formula results

  • Designed for enterprise-safe redistribution


Architecture

The component uses DocumentFormat.OpenXml to parse Excel files at the worksheet and cell level.

It inspects:

  • Cell data types

  • Style index

  • Built-in number format identifiers

  • Custom number format definitions

Column alignment is preserved by calculating column indices from cell references and inserting delimiters for skipped columns.

Formula cells return the last saved calculated value stored in the file. The component does not evaluate formulas dynamically.


Public Action

Action Name

ConvertExcelToDSV

Description

Converts an Excel (.xlsx) file into a Delimiter-Separated Value formatted text output.


Input Parameters

ExcelBinary

Type: Binary Data
The binary content of the Excel file to be converted.

Delimiter

Type: Text
The character used to separate values in the output file. Single-character delimiters are recommended.


Output Parameters

DSVContent

Type: Text
The generated DSV content as a formatted text string. Each Excel row is exported as a new line.


Behavior Details

Worksheet Handling

The component reads the first worksheet in the Excel file.

Column Alignment

If a row contains missing cells between columns, empty values are inserted to maintain structural consistency.

Formatting Support

  • Shared strings are resolved using the SharedStringTable.

  • Boolean values are converted to TRUE or FALSE.

  • Percent values are converted from decimal representation to percentage format.

  • Date values are converted from Excel serial number to readable date format.

  • Currency values are formatted based on built-in or custom number formats.

  • Custom formats are parsed from workbook style definitions.

  • Formula cells return the cached value stored in the file.


Limitations

  • Only the first worksheet is processed.

  • Formulas are not dynamically evaluated.

  • Excel files must be saved after recalculation to ensure formula accuracy.

  • Very large files may impact performance depending on server resources.


Performance Considerations

  • Designed to handle large datasets efficiently.

  • Memory usage depends on file size.

  • Recommended to process files within reasonable size limits for optimal performance.


Usage Example

  1. Upload an Excel file using an Upload widget.

  2. Pass the uploaded BinaryData to ConvertExcelToDSV.

  3. Specify the desired delimiter.

  4. Use the returned DSVContent for download, storage, or integration.


Versioning

Version 1.0.0
Initial release including support for dates, currency, percent formatting, custom formats, and formula cached values.


Future Enhancements

  • Multi-sheet support

  • Sheet selection parameter

  • Streaming mode for very large files

  • Quote wrapping for delimiter-safe output

  • Encoding configuration

  • Optional header-only export


Target Audience

  • OutSystems developers

  • Integration engineers

  • Enterprise architects

  • Data migration teams

  • Backend system developers