office-toolkit 1.0.0

A Rust library to create, read, and modify Microsoft Office documents (Word/Excel/PowerPoint) in the modern Open XML (OOXML) format.
Documentation
[package]
name = "office-toolkit"
version.workspace = true
edition.workspace = true
rust-version.workspace = true
license.workspace = true
authors.workspace = true
repository.workspace = true
readme = "README.md"
description = "A Rust library to create, read, and modify Microsoft Office documents (Word/Excel/PowerPoint) in the modern Open XML (OOXML) format."
keywords = ["office", "docx", "xlsx", "pptx", "ooxml"]
categories = ["parser-implementations", "encoding"]

[dependencies]
# The three OOXML format crates: each optional, gated by its own
# same-named feature (below), so a caller who only needs one format
# doesn't compile the other two. `full` (all three, this crate's own
# `default`) exists so `cargo add office-toolkit` works with zero
# configuration — see `src/lib.rs`'s own doc comment.
word-ooxml = { workspace = true, optional = true }
excel-ooxml = { workspace = true, optional = true }
powerpoint-ooxml = { workspace = true, optional = true }
# Shared across every format (shape/text formatting, embedded charts) —
# never optional, since even a single format needs them to add an image,
# a shape, or a chart.
drawing.workspace = true
chart.workspace = true
# Needed by `open`'s own format auto-detection (inspecting a package's
# parts before handing off to the matching format crate's own reader).
opc.workspace = true
thiserror.workspace = true

[features]
default = ["full"]
full = ["word", "excel", "powerpoint"]
word = ["dep:word-ooxml"]
excel = ["dep:excel-ooxml"]
powerpoint = ["dep:powerpoint-ooxml"]