Cargo Features

rust_xlsxwriter has no features set by default.

rust_xlsxwriter = { version = "0.70.0", features = ["zlib", "chrono", "polars", "serde", "wasm", "ryu", "test-resave"] }

default: Includes all the standard functionality.


zlib: Adds a dependency on zlib and a C compiler. This includes the same features as default but is 1.5x faster for large files.

Enables deflate-zlib of zip


chrono: Add support for Chrono dates/times in addition to the native ExcelDateTime types.

Enables chrono


polars: Add support for mapping between PolarsError and rust_xlsxwriter::XlsxError to make code that handles both types of error easier to write.

Enables polars ^0.40.0


serde: Adds supports for Serde serialization.

Enables rust_xlsxwriter_derive and serde

Affects rust_xlsxwriter::serializer, utility::serialize_chrono_naive_to_excel, utility::serialize_chrono_option_naive_to_excel

wasm = js-sys, wasm-bindgen

wasm: Enable wasm/Javascript compilation.


ryu: Adds a dependency on ryu. This speeds up writing numeric worksheet cells for large data files. It gives a performance boost above 300,000 numeric cells and can be up to 30% faster than the default number formatting for 5,000,000 numeric cells.

Enables ryu

Optional dependencies.


test-resave: Developer only testing feature.

Features from optional dependencies

In crates that don't use the dep: syntax, optional dependencies automatically become Cargo features. These features may have been created by mistake, and this functionality may be removed in the future.

js-sys wasm?
wasm-bindgen wasm?