Same API
The @sheet/edit-compatible API and plain-object workbooks. Change your import or use a dependency alias.
@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.
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));[ 'Prices' ][ { Item: 'Bolt', Price: 1.25 }, { Item: 'Nut', Price: 0.4 } ]npm install @agent-sheet/wasmSee 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.