# Excel to Typst

Turn the first sheet of an Excel, CSV, or TSV file into an escaped Typst table.

Excel to Typst moves a finished table from a spreadsheet into a Typst document. It reads the file, escapes every cell, and writes the `#table` call for you.

## Best for

Use it for a clean rectangular table: results, summary statistics, or a comparison grid prepared in a spreadsheet. The first row becomes a bold header.

If the rows are already on your clipboard, [CSV to Typst](/docs/tools/csv-to-typst/) takes pasted text. For a LaTeX document, use [Excel to LaTeX](/docs/tools/excel-to-latex/). Keep charts and plots as figures.

## Convert a sheet

1. Open **Excel to Typst**, or run `/excel-to-typst`.
2. Choose an `.xlsx`, `.xls`, `.csv`, or `.tsv` file.
3. Choose **Convert**.
4. Check the row and column count in the note under the result.
5. Copy the table or save `table.typ`, then paste it into your document.

A sheet like this:

| Model | Accuracy | Time (s) |
| --- | ---: | ---: |
| Baseline | 0.81 | 12.4 |
| Proposed | 0.87 | 10.9 |

becomes a three-column Typst table. Number columns are right-aligned, text columns left-aligned, and horizontal rules mark the top, the header, and the bottom. Typst needs no extra package for it.

## Spreadsheet behavior

- Oleafly reads the **first sheet** in a workbook.
- Formula cells use the result cached in the file. Recalculate and save the spreadsheet first if values may be stale.
- A merged range contributes its value from the top-left cell. The other cells are empty.
- Characters Typst would read as markup are escaped.
- The conversion stays on your device.

:::caution[Size and layout limits]
The sheet may contain up to 10,000 rows and 100 columns, with no more than 2 MB of cell text. Charts, colors, cell styling, formulas, and links between sheets are not reproduced.
:::

To bring a data file into an open Typst document instead, right-click in the editor and choose **Table from CSV/XLSX…**. That dialog also reads JSON, takes a caption and a label, and can keep the table linked to a copy of the data in the project, so editing the data updates the table on the next compile.
