Download
For C, C++ and every language with a C FFI

Native libraries for Excel, Word and PowerPoint files.

The same three cores that power SumOffice — SumSheet for .xlsx/.xlsm/.xlsb, SumDoc for .docx, SumSlide for .pptx — as shared libraries with a plain C interface. Bytes in, JSON requests, bytes out. Use them from C and C++, or from Go, Rust, Swift, Zig and anything else that can call C. VBA projects in .xlsm come back byte for byte.

Download

macOS, Apple siliconsumoffice-c-2026.4.5-macos-arm64.tar.gz · 46 MB · signed with Developer ID
macOS, Intelsumoffice-c-2026.4.5-macos-x64.tar.gz · 50 MB · signed with Developer ID
Linux x86-64sumoffice-c-2026.4.5-linux-x64.tar.gz · 48 MB · glibc 2.28+
Linux ARM64sumoffice-c-2026.4.5-linux-arm64.tar.gz · 44 MB · glibc 2.28+
Windows x64sumoffice-c-2026.4.5-windows-x64.zip · 48 MB · DLLs and import libraries
ChecksumsSHA256SUMS

Each archive holds include/ (one header per core plus sumoffice.h), lib/, pkgconfig/sumoffice.pc, a runnable example in examples/c/ with a Makefile and CMakeLists.txt, and the terms of use.

Build the example

tar xzf sumoffice-c-2026.4.5-macos-arm64.tar.gz
cd sumoffice-c-2026.4.5-macos-arm64/examples/c
make run      # edits the .xlsx, .docx and .pptx in samples/ and writes out/edited.*

What a call looks like

#include "sumoffice.h"

SumSheetSession *s = sumsheet_session_open(bytes, len, (const uint8_t *)"report.xlsm", 11);
SumSheetBuffer ready = sumsheet_session_handshake(s);          /* JSON: sheets, ids */
sumsheet_buffer_free(ready);
SumSheetBuffer r = sumsheet_session_execute_json(s, req, req_len); /* apply_cell_edits, recalculated */
sumsheet_buffer_free(r);
SumSheetBuffer out = sumsheet_session_save(s);                 /* the saved .xlsm bytes */
/* write out.data / out.len */
sumsheet_buffer_free(out);
sumsheet_session_free(s);

SumDoc and SumSlide follow the same pattern with the sumdoc_ and sumslide_ prefixes. Every buffer the library returns goes back to its _buffer_free; errors are read with _last_error.

What is free

The same terms as the Python library: 30 documents per day without a key, a free developer key for more, and you may ship the libraries inside your own program. Write to hello@sumoffice.com with the subject “Developer key”.

SumOffice assistant

Answers are assembled from the documentation and may be inaccurate — check the sources.