How mathnya/umya-spreadsheet works
umya-spreadsheet is a pure-Rust library for reading, editing, and writing Excel workbooks. The principal flow is an application reading an XLSX/XLSM file into a workbook, manipulating worksheets and spreadsheet content through its public model, then writing an XLSX/XLSM or CSV result. The README also documents lazy and streaming reads, password-protected writing, and support for charts, drawings, images, and OLE objects. Some specialized reader and writer components are unsampled; their links are shown only where the README or source index supports them.
Main entry points: reader/xlsx.rs XLSX Reader · worksheet.rs Worksheet Model · writer/xlsx.rs XLSX Writer · workbook.rs Workbook Model
Components 17
File I/O
- XLSX Reader
src/reader/xlsx.rs - Read Driver
src/reader/driver.rs - Worksheet Parser
src/reader/xlsx/worksheet.rs - Raw Worksheet
src/structs/raw/raw_worksheet.rs - XLSX Writer
src/writer/xlsx.rs - Write Driver
src/writer/driver.rs - CSV Writer
src/writer/csv.rs
Workbook Model
- Workbook Model
src/structs/workbook.rs - Worksheet Model
src/structs/worksheet.rs - Cells and Rows
src/structs/cells.rs
Spreadsheet Features
- Cell Styles
src/structs/style.rs - Charts and Drawings
src/structs/drawing.rs - Images and Objects
src/structs/image.rs
Shared Helpers
- Formula Tools
src/helper/formula.rs - Value Formatting
src/helper/number_format.rs - Protection Crypto
src/helper/crypt/mod.rs
Other components
- Application
Connections 21
- Application → XLSX Reader: reads workbook
- Application → Workbook Model: creates workbook
- XLSX Reader → Read Driver: uses helpers
src/reader/xlsx.rs - XLSX Reader → Workbook Model: loads metadata
src/reader/xlsx.rs - XLSX Reader → Raw Worksheet: stores raw data
src/reader/xlsx.rs - XLSX Reader → Worksheet Parser: parses sheets
src/reader/xlsx.rs - Application → Worksheet Parser: streams sheet cells
- Workbook Model → Worksheet Model: provides sheets
- Worksheet Model → Cells and Rows: contains cell data
- Application → Worksheet Model: edits worksheets
- Application → Cell Styles: edits styles
- Application → Charts and Drawings: edits charts
- Application → Images and Objects: edits objects
- Application → XLSX Writer: writes workbook
- XLSX Writer → Write Driver: uses helpers
src/writer/xlsx.rs - XLSX Writer → Worksheet Model: serializes sheets
src/writer/xlsx.rs - XLSX Writer → Images and Objects: writes embeddings
- Application → CSV Writer: writes CSV
- Application → Protection Crypto: sets password
- Worksheet Model → Formula Tools: adjusts formulas
- Cells and Rows → Value Formatting: formats values