How thang199801666/xlpp works
XL++ is a C++20 Excel-workbook library with C, Python, and C# interfaces. The main workflow is to create or load a workbook, edit worksheets and cells (optionally calculating formulas), then save or stream the result in supported spreadsheet formats. Package I/O handles OOXML and ZIP-based workbooks; separate legacy readers and writers cover XLS and XLSB, while CSV is also supported. Charts, pivots, styles, VBA, encryption, and preservation are meaningful capabilities. The tree and README support these subsystem boundaries; wiring among unsampled implementation details is left unspecified.
Main entry points: Workbook.h Workbook · WorkbookIO.cpp Workbook I/O · Worksheet.h Worksheet · XLPP.h C++ API
Components 21
Public interfaces
- C++ API
include/XLPP/XLPP.h - C ABI
bindings/c/xlpp_capi.cpp - Python API
bindings/python/src/xlpp_bindings.cpp - C# API
bindings/csharp/XlppNet.cs
Workbook model
- Workbook
include/XLPP/Workbook/Workbook.h - Worksheet
include/XLPP/Worksheet/Worksheet.h - Cells and ranges
include/XLPP/Cell/Cell.h
Format I/O
- Streaming I/O
src/XLPP/Streaming/StreamingWorkbookReader.cpp - Workbook I/O
src/XLPP/Workbook/WorkbookIO.cpp - XLS and XLSB
src/XLPP/Legacy/XlsBinaryReader.cpp
Workbook features
- Styles
include/XLPP/Styles/Style.h - Formula calculation
src/XLPP/Formula/CalculationEngine.cpp - Charts and drawings
include/XLPP/Chart/Chart.h - Pivot tables
include/XLPP/Pivot/PivotTable.h - Worksheet features
include/XLPP/Worksheet/Worksheet.h - VBA support
include/XLPP/Vba/VbaModule.h - Office encryption
include/XLPP/Encryption/Encryption.h
Internal engines
- Package and ZIP
src/XLPP/Packaging/ZipArchive.cpp - XML processing
src/XLPP/XML/XmlPullReader.cpp - Part preservation
include/XLPP/Package/Preservation.h
Other components
- Application
Connections 23
- Application → C++ API: uses
- Application → C ABI: uses
- Application → Python API: uses
- Application → C# API: uses
- C++ API → Workbook: creates or accesses
- C ABI → Workbook: wraps
- Python API → Workbook: binds
- C# API → Workbook: wraps
- Workbook → Worksheet: manages
- Worksheet → Cells and ranges: exposes
- Cells and ranges → Styles: formats with
- Workbook → Formula calculation: calculates
- Workbook → Charts and drawings: supports
- Workbook → Pivot tables: supports
- Worksheet → Worksheet features: supports
- Workbook → VBA support: preserves
- Workbook → Office encryption: saves or loads encrypted
- Workbook → Workbook I/O: loads or saves
- Workbook → Streaming I/O: streams
- Workbook I/O → XLS and XLSB: dispatches legacy formats
- Workbook I/O → Package and ZIP: reads or writes package
- Package and ZIP → XML processing: parses or emits XML
- Workbook I/O → Part preservation: preserves untouched parts