Open XML SDK for Rust
Open XML SDK for Rust (ooxmlsdk) is a Rust library for working with Office Word, Excel, and PowerPoint documents. The basic idea is inspired by .NET Open XML SDK.
Features
- Deserialize/serialize OOXML (basically all of them) to/from Rust structs
- Support namespace
- Read
docx
,xlsx
andpptx
file - Write
docx
,xlsx
andpptx
file - All Rust structs and ser/de code are generated from metadata (
crates/ooxmlsdk/data
) - Documentation for Rust structs
What's missing
- No validation (WIP)
- No Particle: all xml children is in a flattern
children
vector of enum (OneSequence
is supported, xml children are represented as struct's fields)
Project Structure
crates/ooxmlsdk
: generated code for deserialize & serialize OOXMLcrates/ooxmlsdk-build
: generate code for deserialize & serialize OOXMLexamples/*
: examples
Known Issues
- This library raise recursion limit by
#![recursion_limit = "768"]
forcargo doc
, you may neet to add it too, be cautious when use.
License
MIT OR Apache-2.0
crates/ooxmlsdk/data
is directly copied from .NET Open XML SDK so this directory is licensed under this license