CAPABILITY / SPREADSHEET INTEROPERABILITY
Open the workbook. Change it. Bring it back intact.
A real editable Grid sits in the exchange path: load source bytes, make a change, then export, re-import, and inspect the fidelity result beside the workbook. XLSX interchange guide →
- Formats
- XLSX · CSV · TSV
- Editing
- Real Grid
- Round trip
- Export · re-import
- Evidence
- Checked fixtures
Source workbookQ1 2026 · workplace equipment salesLoading editable Grid
Inspect the equipment lease and cash-flow model
LIVE FORMULA MODEL
Equipment lease & cash-flow model
Local engine: evaluated now. No new Excel or Google Sheets result is added; the on-demand evidence vault remains the source of truth.
- XLOOKUP rate
- Unavailable
- PMT / month
- Unavailable
- NPV
- Unavailable
- IRR
- Unavailable
- STDEV.S
- Unavailable
- LET remaining payments
- Unavailable
- Schedule end
- Unavailable
- SEQUENCE output
- Unavailable
Public change event: awaiting an analytical input edit.
NEW IN 0.5.0 · STREAMED IMPORT
Put 200,000 sales records through the CSV importer.
Records go straight into typed columns. XLSX imports also stream rows and shared strings. This demo measures CSV parse time, not peak memory.
Evidence vaultCompatibility test set and raw app resultsFilters, expected values, checksums, and explicit nonclaims
Source libraryIndependent workbooks and verified checksumsLoad committed LibreOffice fixtures into the live Grid
Committed independent fixtures
Bytes produced by other software, committed with full provenance, and hashed in your browser before use — load any of them into the workbench above.
packages/xlsx/test/fixtures/manifest.jsonFull SHA-256 digests are verified in this browser before loading.- LibreOffice 26.2.4.2hashing…
sheetwrite-libreoffice-positive.xlsx
cb7cba1a9a804d71…Manifest evidence- strings
- numbers
- date-formatted numeric cells
- surrounding whitespace
- multiple data rows
- LibreOffice 26.2.4.2hashing…
libreoffice-rich.xlsx
75fb643cafcbe660…Manifest evidence- ordinary formulas
- bold font and RGB font color
- solid fill
- per-side borders
- horizontal alignment
- currency number format
- merged cells
- decimal validation
- legacy note/comment
- hidden worksheet
- active worksheet
- frozen row and column
- named range
Manifest-documented warning: rich-text: comment formatting was flattened
- LibreOffice 26.2.4.2hashing…
libreoffice-metadata.xlsx
5a676a11d56ae1e4…Manifest evidence- LibreOffice-preserved hidden Sheetwrite metadata worksheet
- documentId
- version
- stable sheet ids and column metadata
- native formula, validation, comment, merge, view, and named-range parts
Manifest-documented warning: rich-text: comment formatting was flattened
Results by producing application
- LibreOffice 26.2.4.2Verified here
Scope, limitations, and technical evidence
Committed LibreOffice-produced workbooks import on this page, in your browser, after their file hashes match the checked fixture record.
Open checked evidence file - Sheetwrite round-tripVerified here
Scope, limitations, and technical evidence
The workbench below exports this document to .xlsx bytes and re-imports them live; formulas, formats, the merge, and frozen rows survive.
toXlsxWorkbook / fromXlsxWorkbook on this page - Microsoft ExcelResult unavailable
Scope, limitations, and technical evidence
5 Excel-produced test files are listed from Apache POI commit 913c78891b, with expected file hashes and download sources. The workbook bytes and reviewed results are not checked in, so no Excel result is available here. Still unverified from Excel files: hidden worksheet, Sheetwrite metadata resave.
Open checked evidence file - Google SheetsResult unavailable
Scope, limitations, and technical evidence
Metadata lists 1 Google Sheets-exported test file (google-sheets-public.xlsx) with its file hash recorded. The bytes and reviewed compatibility results are not checked in, so no Google Sheets result is available here. Still unverified from Google Sheets files: dates, merges, validations, notes, hidden active sheet, defined names, Sheetwrite metadata resave.
Open checked evidence file
Operation evidenceStructured fidelity warning logThe latest import or round-trip, with public warning codes
Fidelity warnings, not silent loss
Every import and export reports what it could not preserve as structured XlsxWorkbookWarning records — coded, per sheet, per cell. Warning codes →
No interchange operation has run yet. Run the round-trip or import a fixture — warnings from that operation land here with their codes.
Delimited-text labCSV / TSV export, injection proof, and paste importLossy interchange is explicit and isolated from the workbook path
CSV and TSV, hardened
Delimited exports neutralize formula-injection payloads before a cell ever reaches a spreadsheet that would execute them.
Export the live document
Export the active sheet, or select a range to inspect its clipboard TSV.
Delimited text is intentionally lossier: formulas leave as their computed values, and styles and merges do not exist in CSV/TSV at all.
Import pasted CSV
Security labHostile packages, aborts, and resource ceilingsFive hand-authored attack packages with typed rejection evidence
Resource limits and hostile input
Ceilings are enforced before anything allocates, and hand-authored hostile OPC/SpreadsheetML packages are rejected with typed errors. Resource limits →
Formula-injection probe
=HYPERLINK("https://evil.example","Q3 total") is stored as literal text. It is not an active link or a formula. Load it only in this lab, then inspect the hardened CSV.
- byte ceiling
- entry ceiling
- dimension ceiling
- compression-ratio ceiling
- cell ceiling
- AbortSignal honored
| Package | Attack | Live verdict |
|---|---|---|
traversal.xlsx | ZIP entry path traversal | not run yet |
doctype.xlsx | DTD and custom entity rejection | not run yet |
deep-xml.xlsx | XML nesting-depth bound | not run yet |
compression-ratio.xlsx | Central-directory compression-ratio preflight | not run yet |
corrupt-deflate.xlsx | Corrupt DEFLATE stream or CRC rejection | not run yet |
Runtime boundaryOptional XLSX package registrationThe pre-registration typed error and lazy codec handoff
The XLSX codec is an optional package
@sheetwrite/core ships no XLSX implementation — workbook interchange throws a typed error until a host registers a backend. This page loads @sheetwrite/xlsx/register lazily on the first XLSX action; CSV/TSV interchange needs no optional package at all.
Probing registration state…