# Excel

Excel (.xlsx) templates are ideal for data-oriented reports requiring calculations, charts, or tabular layouts. They are the recommended format for listing-mode reports that compile data from multiple submissions into a single file.

## Overview

|                   |                                                                |
| ----------------- | -------------------------------------------------------------- |
| **Format**        | `.xlsx` (MS Excel 2007 minimum; 2013 recommended)              |
| **Report engine** | Aspose Library for Excel                                       |
| **Best for**      | Listing reports, aggregation tables, charts, data exports      |
| **Listing mode**  | Primary use case — compiles multiple submissions into one file |

## Field syntax basics

Excel report templates use a dedicated **PPActions** sheet to declare which fields to insert and where. The general tag syntax (`<%SystemName%>`) applies in cells, but fields in a listing table are declared via the PPActions sheet rather than placed directly.

### PPActions sheet setup

1. Add a sheet named `PPActions` to your template.
2. Add a second sheet with any name and create a table with one header row and one data row.
3. Give the table a **named range**: select it and type a name in the Name Box (top-left corner of Excel).
4. In the PPActions sheet, add one row with as many columns as there are fields in your table:

<figure><img src="/files/1Pw2OsUMk2OB4J7HA5by" alt=""><figcaption></figcaption></figure>

Each column declares one field using three properties:

| Property    | Value                              |
| ----------- | ---------------------------------- |
| `Type`      | `table` — declares a listing table |
| `TableName` | The named range you defined        |
| `Value`     | System name of the field           |

## Relationships

To include child submissions from a relationship field, add a row in the PPActions sheet using `subtable`:

![](/files/sVzsADX3PR9AQp1rfS0O)

```
<%Type:subtable;TableName:table name;Relationship:relationship name%> | <%Value:field name%>
```

| Property       | Value                                            |
| -------------- | ------------------------------------------------ |
| `Type`         | `subtable` — declares a relation table           |
| `TableName`    | The named range for the relation table           |
| `Relationship` | Label of the relationship field in the main form |

To display the count of related submissions: `<%Value:[Relation.Count]%>`

## Tips

* Font, colour, conditional formatting rules, and Excel formulas are all preserved during report generation.
* Listing mode generation follows the same principles as Word — see [Automations](/user-documentation/build/building-forms/automations.md) for scheduling.
* You can start from a blank `.xlsx` file or adapt an existing spreadsheet model.

## Limitations

* Format: `.xlsx` only.
* Listing mode maximum: **30,000 submissions** per report.
* Image size is set by cell dimensions, not by function parameters: `<%Value:SystemName;Type:Image%>` — resize the target cell to control the photo size.
* `MarkDown()` is not functional in Excel reports.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://www.center.daxium-air.com/user-documentation/build/building-the-reporting/report-templates/excel.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
