---
title: "XLSX"
description: "One Excel sheet, one row per test, formatted as a table with filters — the format every plan writes"
url: "https://docs.justcat.it/reference/outputs/xlsx/"
---
# XLSX


## When to use it

For people: business users, analysts, a developer who wants to sort and filter the failures of last night's run without writing a line of code. It is also the one output the Starter and Professional plans write, so it is where a trial starts. It is not for automation — the file is a rendering of the results, not a data feed; take [JSON](https://docs.justcat.it/reference/outputs/json/ "JSON") for that.

## How to set it

```yaml
Output: xlsx
```

writes `TestResults/cat-test-results-{timestamp}.xlsx` next to the project file. For one file that is overwritten on every run:


**Properties**



Format
: xlsx

File
: LatestTestResults.xlsx





**YAML**


```yaml
Output:
- Format: xlsx
  File: LatestTestResults.xlsx
```




See [Settings](https://docs.justcat.it/reference/outputs/settings/ "Settings").

## What it looks like

One worksheet, `Test Results`, a header row and one row per test; the range is an Excel table (`TestResults`, style *Medium 2*, filter buttons on every column, columns auto-fitted). The [sample run](https://docs.justcat.it/reference/outputs/overview/#the-sample-run "The sample run"), first columns:

```text
 Test Full Name                                        Test Result  Duration          Description                                      Expectation       Message                                          …
 [Smoke tests].[Airline dimension matches the source]  Passed       00:00:00.0755756  Every airline in the source must land in the …   sets match        The sets match.                                  …
 [Data quality].[No booking without a passenger]       Failed       00:00:00.1389169  A booking must reference an existing passenger.  set is empty      No row was expected, but at least 1 row exists…  …
 [Smoke tests].[Flights table is loaded]               Error        00:00:06.2492205                                                   set is not empty  Error when executing the test: Invalid object …  …
```

Multi-line messages keep their line breaks inside the cell.

## Details

**The 22 columns, in order:** Test Full Name · Test Result · Duration · Description · Expectation · Message · Exception Message · Start Time · End Time · First Data Source · First Query · Second Data Source · Second Query · Test Suite · Test Case · Test Name · Test Definition Guid · Execution Guid · Project · Order · Tags · ThreadNumber. The set is fixed — there is no way to add or drop columns; a database output is the configurable one. What each holds is on [Properties](https://docs.justcat.it/reference/outputs/properties/ "Properties"); the `Message` column holds the *raw* message (the verdict and the sample of rows, without description and queries), `Exception Message` the exception text of an `Error`; times are ISO 8601 strings.

**Written once, after the run.** A file that is open in Excel cannot be overwritten — close it before the next run, or use `{timestamp}` in the name.

**Linux:** the writer draws on `System.Drawing`; it needs `libgdiplus` installed, otherwise the run ends with an error when the file is written.

## Related

* [JSON](https://docs.justcat.it/reference/outputs/json/ "JSON") — the same results for programs.
* [Properties](https://docs.justcat.it/reference/outputs/properties/ "Properties") — what the columns hold.

