Known differences
This package targets the API of the original @sheet/edit 2.20260615.1 package. Check these limits before replacing an existing installation.
Runtime and API
Section titled “Runtime and API”- WebAssembly support is required. Browser CSP must permit
'wasm-unsafe-eval'. There is no JavaScript fallback. - Node 22 and 24 were tested. Node versions below 22 were not tested.
- Both packages are CommonJS. Use a default import in Node ESM.
- File encryption is unavailable in both packages.
utils.hash_passwordandutils.test_passwordremain declared for type compatibility but do not exist at runtime. - Use
template_sheet_set_visibilityandtemplate_book_remove_name. The namestemplate_set_sheet_visibilityandtemplate_book_delete_nameare not available. - The form-control template helpers are present and included in the bundled declarations.
utils.encode_col(Infinity)throwsRangeError: Invalid string lengthrather than exhausting memory.- An HTML stream without
!refinfers a range from existing cells; an empty worksheet produces a table with a blank A1 cell. The original raises an unhandled stream error that can terminate the process. - The mini build has a reduced format set. See Supported formats.
- When writing XLSX with
cellStyles, a cell style without a fontschemeis not given a font that hasscheme: "minor". The original reuses such a font, and spreadsheet applications then show the theme font instead of the cell’s own font. Fonts named after the theme’s body font still match.
Format-dependent metadata
Section titled “Format-dependent metadata”Metadata support depends on the file format. Do not assume that every format preserves every feature. Try a representative round trip using the format and features that your application needs. Use template mode when preserving unrelated content in an existing XLSX or XLSM matters.
Template mode
Section titled “Template mode”Template mode keeps file parts that you do not edit. Use it for existing print settings, custom XML, protection, charts, and pivots that should survive an edit. This does not mean that every feature can be created through the normal workbook model. See Template editing and the helper reference.
Validation limits
Section titled “Validation limits”Safari, Node below 22, and opening generated files in Excel or Apple Numbers were not
tested. Numbers output needs the bundled xlsx.zahl.js payload. Package read/write
support does not imply application-level validation.