Skip to main content
Jetxl reads Arrow memory. Polars, Pandas and PyArrow can all hand it Arrow, so the only difference between them is how you get there.

Write a sheet

.to_arrow() on a Polars or Pandas frame is a conversion, not a copy of the data. It’s what lets Jetxl read your values in place. Polars DataFrames also work when passed directly, without the call.

Make it presentable

The defaults produce a plain grid. Four arguments turn it into something you’d send to someone:
If you only ever remember four options, remember these. They account for most of the difference between a raw export and a readable one.

Format the numbers

Raw floats read poorly. Name a format per column:
There are sixteen built-in names, and any Excel format code also works. See Number formats.

Where to go next

Conventions

Colors, indexing, and error behavior.

Formatting basics

Headers, widths, freezing, filters.

Charts

Six chart types with full styling.

Recipes

Complete scripts for whole reports.