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

# write_sheet_arrow

> Write one sheet from Arrow data to a file

```python theme={null}
jet.write_sheet_arrow(arrow_data, filename, **options) -> None
```

The primary function. Every other Arrow function accepts the same options.

## Positional

<ParamField path="arrow_data" type="Any" required>
  A PyArrow `Table` or `RecordBatch`, or anything exposing Arrow data, such as `df.to_arrow()` from Polars or Pandas. A bare Polars DataFrame also works.
</ParamField>

<ParamField path="filename" type="str" required>
  Output path. Jetxl overwrites the file if it exists.
</ParamField>

## Layout

<ParamField path="sheet_name" type="str | None" default="None">Tab label. Defaults to `Sheet1`.</ParamField>
<ParamField path="auto_filter" type="bool" default="False">Filter dropdowns on the header row.</ParamField>
<ParamField path="freeze_rows" type="int" default="0">Rows frozen at the top.</ParamField>
<ParamField path="freeze_cols" type="int" default="0">Columns frozen at the left.</ParamField>
<ParamField path="auto_width" type="bool" default="False">Size columns to contents. Costs time on large frames.</ParamField>
<ParamField path="styled_headers" type="bool" default="False">Bold the header row. Applies bold only, with no fill.</ParamField>
<ParamField path="write_header_row" type="bool" default="True">Write column names at all.</ParamField>
<ParamField path="column_widths" type="dict[str, float | str] | None">By column name. A number, `"150px"`, or `"auto"`.</ParamField>
<ParamField path="row_heights" type="dict[int, float] | None">Points, keyed by 1-based row.</ParamField>
<ParamField path="default_row_height" type="float | None">Applies to all rows. Excel's default is 15.</ParamField>
<ParamField path="data_start_row" type="int" default="0">Row where the data begins. Also excluded from `auto_width` measurement.</ParamField>
<ParamField path="header_content" type="list[tuple[int, int, str]] | None">`(row, col, text)` written above the data. Rows 1-based, columns 0-based.</ParamField>

## Content

<ParamField path="column_formats" type="dict[str, str] | None">
  Number format per column. See [Number formats](/guides/number-formats).
</ParamField>

<ParamField path="merge_cells" type="list[tuple[int, int, int, int]] | None">`(start_row, start_col, end_row, end_col)`.</ParamField>
<ParamField path="hyperlinks" type="list[tuple[int, int, str, str | None]] | None">`(row, col, url, display)`.</ParamField>
<ParamField path="formulas" type="list[tuple[int, int, str, str | None]] | None">`(row, col, formula, cached_value)`.</ParamField>

## Styling

<ParamField path="cell_styles" type="list[dict] | None">
  Per-cell font, fill, border, alignment and number format. See [Cell styles](/guides/cell-styles).
</ParamField>

<ParamField path="conditional_formats" type="list[dict] | None">
  Value-driven rules. See [Conditional formatting](/guides/conditional-formatting).
</ParamField>

<ParamField path="data_validations" type="list[dict] | None">
  Input constraints. See [Data validation](/guides/data-validation).
</ParamField>

## Objects

<ParamField path="tables" type="list[dict] | None">Native Excel tables. See [Excel tables](/guides/tables).</ParamField>
<ParamField path="charts" type="list[dict] | None">Charts. See [Charts](/guides/charts).</ParamField>
<ParamField path="images" type="list[dict] | None">Embedded images. See [Images](/guides/images).</ParamField>

## Appearance

<ParamField path="gridlines_visible" type="bool" default="True">Show worksheet gridlines.</ParamField>
<ParamField path="zoom_scale" type="int | None">Opening zoom, 10 to 400.</ParamField>
<ParamField path="tab_color" type="str | None">Sheet tab color, hex.</ParamField>
<ParamField path="hidden_columns" type="list[int] | None">0-based column indices to hide.</ParamField>
<ParamField path="hidden_rows" type="list[int] | None">Row indices to hide.</ParamField>
<ParamField path="right_to_left" type="bool" default="False">Right-to-left sheet layout.</ParamField>

## Returns

`None`. Jetxl writes the file as a side effect.

## Errors

Raises `OSError` for an invalid number format code, an unsupported column type, or a frame exceeding Excel's grid limits. Several other mistakes are dropped silently instead. See [Conventions](/guides/conventions).

<Warning>
  Indexing isn't uniform across options. `cell_styles` and `header_content` use 1-based rows with 0-based columns, while image positions are 0-based on both axes. See [Conventions](/guides/conventions) for the full table.
</Warning>
