Download
=NODE(report.xlsx) no Office needed
For Node.js developers

Excel, Word and PowerPoint files from Node.js — no Office on the server.

One package opens, edits, recalculates and saves .xlsx and .xlsm, reads .docx and adds slides to .pptx. The SumSheet, SumDoc and SumSlide cores come as a platform package next to it: nothing compiles on install, no Microsoft Office or LibreOffice needed. Your file never leaves your machine.

Install

The package is on npm: npmjs.com/package/sumoffice.

npm install sumoffice

npm adds the cores for your platform by itself (@sumofficeapp/native-darwin-arm64, -darwin-x64, -linux-x64, -linux-arm64, -win32-x64); do not install with --omit=optional. The package is an ES module: use import. Version 2026.4.3.

First result

Open a workbook, write a cell, recalculate and save; read a Word document; add a slide:

import { open, text } from "sumoffice"; const wb = open("report.xlsx"); const sheet = wb.sheet([...wb.sheets.keys()][0]); // first sheet sheet.set("B11", 41).set("C11", "=B11+1"); // number, text, null or a formula wb.recalc(); console.log(sheet.get("C11")); // 42 wb.save("report-edited.xlsx"); wb.close(); console.log(text("contract.docx")); const deck = open("deck.pptx"); deck.addSlide(); console.log(deck.slideCount); deck.save("deck-edited.pptx"); deck.close();

open() returns a workbook or a presentation by the file extension; save() without an argument overwrites the source file. Errors are OfficeError; the core release inside is coreVersion().

What is free

Without a key30 documents per day, no expiry.
Developer key10,000 documents per day for 90 days from issue. To request one, write to hello@sumoffice.com with the subject “Developer key”. Put the key in SUMOFFICE_LICENSE, or the path to the key file in SUMOFFICE_LICENSE_FILE.
When the quota is used upLicenseQuotaError right away, with a link to this section. No waiting, no slowdown.
What countsOpening or saving a file in any of the three cores — workbooks, documents and presentations share one daily count. Edits inside an open file, however many cells you change, are not counted.

What it does not do

  • Show files to people. There is no viewer or browser editor in the package: view(path) answers where to get the SumOffice server, or uploads the file to your server and returns the editor link.
  • Run VBA macros. It keeps them, byte for byte.
  • Convert to PDF or render page images in this release.
  • Edit Word text through the short API. Reading is one call; editing goes through the low-level Session.

When people need to see the files

The library makes and changes files inside your program. Showing them to people and letting them edit is a job for the rest of SumOffice:

  • In the browser — the SumOffice server. The files your code generates open in SumSheet, SumDoc and SumSlide editors in the browser; several people can edit at once and the result comes back as a new version. How the server works · connect it to Nextcloud, ownCloud, Seafile, Moodle, Odoo.
  • On the computer — the desktop apps. SumSheet, SumDoc and SumSlide for macOS and Windows. Download.
  • Inside your own product — SumOffice Embedded. The same editors built into your web or mobile app. SumOffice Embedded.

Made by SumOffice. Privacy · Contact

SumOffice assistant

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