SwiftSheets

A pure Swift spreadsheet library with one format-neutral model and one codec per file format — XLSX, XLSM, CSV/TSV, ODS and Apple Numbers. Foundation only, and no package dependencies — bytes are folded by whichever DEFLATE the machine already has.

Source on GitHub · MIT · macOS 14+ / iOS 17+ / Linux · Swift 6.2+


Documents

Implementation spec
The design, written down before the code. Appendix B records every implementation decision and the reason behind it — including the ones that were measured and then rejected.
Format support table
What each format actually carries, across 48 features — measured against Excel, LibreOffice, Numbers.app, openpyxl and numbers-parser, not claimed from the specifications.
Spec feature matrix
The same question from the other side: every feature each format's own specification names, and how far SwiftSheets carries it — read and write kept apart, with the API for each of the 196 rows.
Performance record
What a million cells cost to read and write, in seconds and megabytes, measured by a script in the repository on a named machine — the numbers the README quotes are checked against this page's source, never remembered.
Interoperability guide
What happens to each format's own features when a file is converted into another — the four possible outcomes, all nine directions, and the test that measures each claim.

Getting started