Download
=JAVA(report.xlsx) no Office needed
For Java developers

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

One Maven artifact opens, edits, recalculates and saves .xlsx and .xlsm, reads .docx and adds slides to .pptx. The SumSheet, SumDoc and SumSlide cores for macOS (Apple silicon and Intel), Linux x86-64 and aarch64 and Windows x64 ship inside the JAR. No Microsoft Office or LibreOffice needed.

Install

The artifact is on Maven Central: central.sonatype.com/artifact/com.sumoffice/sumoffice.

<dependency> <groupId>com.sumoffice</groupId> <artifactId>sumoffice</artifactId> <version>2026.4.3</version> </dependency>

Java 11 and newer. On Java 11–21 the cores load through JNA, on Java 22 and newer through the standard Foreign Function & Memory API (run with --enable-native-access=ALL-UNNAMED). Dependencies — JNA and Jackson — come from Maven Central. Version 2026.4.3.

First result

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

import com.sumoffice.sdk.Office; import java.nio.file.Path; try (var workbook = Office.open("report.xlsx")) { var sheet = workbook.sheet(workbook.sheetNames().get(0)); // first sheet sheet.set("B11", 41).set("C11", "=B11+1"); // number, text, null or a formula workbook.recalc(); System.out.println(sheet.get("C11")); // 42.0 workbook.save(Path.of("report-edited.xlsx")); } System.out.println(Office.text("contract.docx")); try (var deck = Office.openPresentation("deck.pptx")) { deck.addSlide().save(Path.of("deck-edited.pptx")); System.out.println(deck.slideCount()); }

save() without an argument overwrites the source file. Errors are Office.OfficeException; the core release inside is Office.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 upOffice.LicenseQuotaException 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: Office.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 Office.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.