@ironsheet/browser
v0.2.0
Published
Browser compression and file adapters for Ironsheet workbooks.
Maintainers
Readme
Browser compression and file adapters for Ironsheet — the lossless TypeScript engine for editing real XLSX and XLSM files without breaking formulas, styles, charts, pivots, macros, or layout.
This package adapts the runtime-neutral @ironsheet/core engine to the browser using Blob, File, ArrayBuffer, CompressionStream, and DecompressionStream.
Install
npm install @ironsheet/browserUsage
import {
inspectWorkbookArchiveFromBlob,
openWorkbookFromBlob,
writeWorkbookToBlobSafely
} from "@ironsheet/browser";
const archive = await inspectWorkbookArchiveFromBlob(file);
if (!archive.accepted) {
throw new Error(archive.issues[0]?.message);
}
const workbook = await openWorkbookFromBlob(file);
await workbook.patchCell("Sheet1", "B2", "Hello from the browser");
const result = await writeWorkbookToBlobSafely(workbook);
if (!result.wrote) {
throw new Error("Ironsheet refused to write an invalid workbook");
}
const output = result.blob;The same workbook engine and lossless guarantees apply as in Node — only IO and compression differ.
inspectWorkbookArchiveFromBlob lets browser applications reject pathological
archives before inflating worksheet XML. writeWorkbookToBlobSafely validates
the changed package and only returns a downloadable Blob when the workbook has
no structural errors.
Documentation
Full docs — guides, recipes, and the generated API reference — are at ironsheetdocs.vercel.app. Source and issues live in the Ironsheet monorepo.
