Skip to content

Agent Sheet SDK

Read, write and edit spreadsheets in JavaScript. The @sheet/edit-compatible SDK, powered by a WebAssembly engine.

@agent-sheet/wasm reads, writes and edits spreadsheet files in JavaScript. It is a drop-in replacement for the original @sheet/edit 2.20260615.1 package. The spreadsheet engine is a WebAssembly module embedded in the JavaScript files. Your code calls the same functions and gets the same plain-object workbooks.

Same API

The @sheet/edit-compatible API and plain-object workbooks. Change your import or use a dependency alias.

Synchronous

The spreadsheet engine is synchronous. There is no init() or readiness promise. The first call after require works like every other call.

Many formats

XLSX, XLSM, XLSB, XLS, ODS, Numbers, CSV, HTML, RTF and more. See Supported formats.

Template editing

Change a file in place and keep charts, macros, pivots and print setup untouched. See Template editing.

Node and browsers

Node 22 and 24, Chromium and Firefox, Web Workers, bundlers and a plain script tag.

JavaScript and TypeScript

Use CommonJS, ESM default imports or the bundled TypeScript declarations. No initialization step is needed.

example.js
const XLSX = require("@agent-sheet/wasm");
const ws = XLSX.utils.aoa_to_sheet([["Item", "Price"], ["Bolt", 1.25], ["Nut", 0.4]]);
const wb = XLSX.utils.book_new();
XLSX.utils.book_append_sheet(wb, ws, "Prices");
XLSX.writeFile(wb, "prices.xlsx");
const back = XLSX.readFile("prices.xlsx");
console.log(back.SheetNames);
console.log(XLSX.utils.sheet_to_json(back.Sheets.Prices));
Output
[ 'Prices' ]
[ { Item: 'Bolt', Price: 1.25 }, { Item: 'Nut', Price: 0.4 } ]
Terminal window
npm install @agent-sheet/wasm

See Installation for other package managers and for how to replace @sheet/edit in an existing project.

Part of Agent Sheet. Contact hello@agent-sheet.dev. The SDK is free to use, including commercially, under the Elastic License 2.0 with limitations for the WebAssembly engine.