Capability matrix¶
Which option applies in which mode. Generated from the Rust sources, so it cannot
drift from the implementation -- see scripts/gen_capability_matrix.py.
- df_to_xlsx / dfs_to_xlsx / csv_to_xlsx -- whether the entry point accepts the option.
- Per sheet -- whether
dfs_to_xlsxlets a sheet override it, as opposed to only accepting it as a workbook-wide default. - constant_memory -- whether it still applies when
constant_memory=True. Options markedskippedare ignored with aRuntimeWarningnaming them.applies (inert)means it is applied but has no observable effect, because what it configures is itself skipped.
| Option | df_to_xlsx | dfs_to_xlsx | csv_to_xlsx | Per sheet | constant_memory |
|---|---|---|---|---|---|
sheet_name |
yes | -- | yes | -- | applies |
header |
yes | yes | -- | yes | applies |
autofit |
yes | yes | -- | yes | skipped |
table_style |
yes | yes | -- | yes | skipped |
freeze_panes |
yes | yes | -- | yes | skipped |
column_widths |
yes | yes | -- | yes | applies |
table_name |
yes | yes | -- | yes | applies (inert) |
header_format |
yes | yes | -- | yes | applies |
row_heights |
yes | yes | -- | yes | skipped |
constant_memory |
yes | yes | -- | -- | n/a |
column_formats |
yes | yes | -- | yes | applies |
conditional_formats |
yes | yes | -- | yes | skipped |
formula_columns |
yes | yes | -- | yes | skipped |
merged_ranges |
yes | yes | -- | yes | skipped |
hyperlinks |
yes | yes | -- | yes | skipped |
comments |
yes | yes | -- | yes | skipped |
validations |
yes | yes | -- | yes | skipped |
rich_text |
yes | yes | -- | yes | skipped |
images |
yes | yes | -- | yes | skipped |
checkboxes |
yes | yes | -- | yes | skipped |
textboxes |
yes | yes | -- | yes | skipped |
charts |
yes | yes | -- | yes | skipped |
defined_names |
yes | yes | -- | -- | applies |
cells |
yes | yes | -- | yes | skipped |
sparklines |
yes | yes | -- | yes | skipped |
parallel |
-- | -- | yes | -- | applies |
date_order |
-- | -- | yes | -- | applies |
What the shape of this table says¶
csv_to_xlsx takes 3 options (sheet_name, parallel, date_order) and none of the
formatting or feature options. CSV conversion is a straight-through fast path, not a
reduced-feature version of the DataFrame path: to format a CSV export, read it into a
DataFrame and use df_to_xlsx.
constant_memory=True keeps 3 of the feature options (column_widths, header_format, column_formats) and skips
17. Those three are the ones applied while rows are being written; everything
else needs to revisit a cell after the fact, which streaming output cannot do. A new
option defaults to skipped, so this list only grows deliberately.
Of the 27 options, 22 can be overridden per sheet in dfs_to_xlsx. The rest are
workbook-wide.