> ## Documentation Index
> Fetch the complete documentation index at: https://docs.eigenpal.com/llms.txt
> Use this file to discover all available pages before exploring further.

# XLSX to JSON

> Convert XLSX spreadsheet to JSON array of row objects for use in scripts or downstream steps

`transform.xlsx-to-json`, Convert XLSX spreadsheet to JSON array of row objects for use in scripts or downstream steps

## Configuration

Configuration goes inside the step's `with:` block.

<ParamField path="input" type="string" required>
  File input - template expression e.g. \{\{input.document}} resolving to a scoped \$file artifact at runtime
</ParamField>

<ParamField path="sheet" type="integer | string">
  Sheet to read: 0-based index or sheet name. Omit for first sheet.
</ParamField>

<ParamField path="outputCsv" type="boolean" default="false">
  If true, also write CSV to storage and include fileId in output
</ParamField>

<ParamField path="outputFilename" type="string">
  Output CSV filename when outputCsv is true - supports LiquidJS e.g. \{\{filename}}.csv
</ParamField>

## Output

<ResponseField path="rows" type="array<record<string, unknown>>" required>
  Array of row objects (first row = headers as keys)
</ResponseField>

<ResponseField path="fileId" type="string">
  File ID of stored CSV when outputCsv is true
</ResponseField>
