Detailed compatibility results
This page is generated from checked examples and evidence records. It states only what each named result proves; it is not a percentage or a blanket Excel, Google Sheets, LibreOffice, or OpenFormula compatibility claim.
Result labels distinguish evaluated formulas or structures, preserved source or metadata, deliberately flattened interchange, explicit warning boundaries, and unsupported behavior.
Portable arithmetic, comparison, concatenation, and percent operators
- Result
- evaluated
- Import
- Formula source is preserved and evaluated when every token is in the portable subset.
- Export
- Canonical formula source is emitted to XLSX without cached-value fabrication.
- Known boundary
- This is a declared portable subset, not every Excel, Sheets, or OpenFormula coercion edge.
- Evidence
- 2 checked evidence records
Bounded dynamic arrays and spill ranges
- Result
- evaluated
- Import
- Recognized formulas evaluate; unknown dynamic-array syntax remains preserved source with an explicit formula error.
- Export
- Anchor formula source is exported; derived spill cells are not serialized as invented formulas.
- Known boundary
- No implicit-intersection operator, spill-reference # syntax, multi-key SORT, higher-order LAMBDA array functions, or general Excel/Sheets dynamic-array family is claimed.
- Evidence
- 2 checked evidence records
Bounded lexical and lazy LET bindings
- Result
- evaluated
- Import
- Recognized LET source evaluates within the bounded lexical subset; invalid names, arity, or resource expansion return explicit formula errors.
- Export
- The exact formula source is preserved and emitted without a fabricated cached result.
- Known boundary
- At most 126 bindings and 16,384 expanded AST nodes are admitted; LET does not define or execute reusable functions.
- Evidence
- 1 checked evidence record
LAMBDA and reusable named functions
- Result
- unsupported
- Import
- Source is preserved; evaluation returns an explicit unsupported-name error.
- Export
- Preserved source may be emitted, without a fabricated cached result.
- Known boundary
- LET is supported separately; no approximation, reusable named-function runtime, or JavaScript execution fallback is provided.
- Evidence
- 1 checked evidence record
Quoted cross-sheet references through stable worksheet identity
- Result
- evaluated
- Import
- Native same-workbook references map to stable worksheet IDs.
- Export
- References are rendered using the current canonical sheet name and quoting rules.
- Known boundary
- External workbook links and 3-D references are unsupported.
- Evidence
- 2 checked evidence records
Create, rename, reorder, hide, unhide, remove, and active fallback
- Result
- evaluated
- Import
- Valid names and visibility are retained; invalid all-hidden workbooks fail or select a visible fallback as specified.
- Export
- Current Grid active state and ordinary visibility are emitted without mutating shared navigation history.
- Known boundary
- veryHidden is host-managed and cannot be revealed through the stock tab strip.
- Evidence
- 2 checked evidence records
veryHidden worksheet preservation
- Result
- preserved
- Import
- The visibility token is retained as host-only state.
- Export
- The token is emitted when retained by the canonical workbook.
- Known boundary
- Stock worksheet tabs intentionally do not expose or unhide it.
- Evidence
- 2 checked evidence records
Independent XLSX strings, numbers, dates, and whitespace
- Result
- evaluated
- Import
- Expected cells import with zero warnings.
- Export
- Equivalent Sheetwrite scalar cells export through the optional XLSX package.
- Known boundary
- Evidence covers this file and version, not all LibreOffice documents.
- Evidence
- 2 checked evidence records
Styles, merges, validation, notes, panes, names, and hidden sheets
- Result
- warning
- Import
- Supported native parts become workbook data; unsupported parts emit structured warnings.
- Export
- Canonical supported parts export; unknown OOXML parts are not promised lossless preservation.
- Known boundary
- Hidden worksheet visibility produces the recorded unsupported-feature warning for the legacy fixture path.
- Evidence
- 2 checked evidence records
ECMA-376 shared formula master and translated slaves
- Result
- evaluated
- Import
- Master/slave records import as three exact formula sources.
- Export
- Equivalent formulas export semantically, not byte-for-byte or record-for-record.
- Known boundary
- Export writes canonical ordinary formulas rather than promising the producer's shared-record packing.
- Evidence
- 1 checked evidence record
Native data-validation subset
- Result
- warning
- Import
- Supported rules import; unsupported rules do not masquerade as supported validation.
- Export
- Supported canonical rules emit native validation records.
- Known boundary
- Unsupported operators or extension forms are dropped with exact structured warnings.
- Evidence
- 1 checked evidence record
Native workbook tables and structured references
- Result
- warning
- Import
- The bounded native table subset imports with stable identities; unsupported table features emit exact warnings.
- Export
- Canonical supported tables emit native worksheet relationships and table parts without fabricating unsupported features.
- Known boundary
- Auto-filter state, sort state, calculated columns, totals functions, query tables, external data, and extensions remain explicit unsupported metadata.
- Evidence
- 1 checked evidence record
Host-safe external and internal hyperlinks
- Result
- warning
- Import
- Safe external and internal targets import without fetching; unsafe or malformed targets never enter the snapshot.
- Export
- Safe external targets emit OPC relationships and internal targets emit stable worksheet locations.
- Known boundary
- Activation remains host-owned; unsafe schemes, malformed ranges, package traversal, and over-limit metadata fail closed or emit exact warnings.
- Evidence
- 1 checked evidence record
Bounded native conditional formatting
- Result
- warning
- Import
- Supported rules import in priority order; unsupported and over-limit rules emit exact warnings.
- Export
- Supported rules emit native differential styles and conditional-format records.
- Known boundary
- Color scales, data bars, icon sets, extended conditional formatting, and other undeclared rule kinds are not approximated.
- Evidence
- 1 checked evidence record
Charts, macros, pivots, slicers, Power Query, and external data
- Result
- unsupported
- Import
- Known parts emit exact unsupported-feature warnings; unsafe packages fail closed.
- Export
- Sheetwrite does not fabricate these application parts.
- Known boundary
- These application features are not imported into a parallel object model and are not claimed to round-trip losslessly.
- Evidence
- 1 checked evidence record
CSV/TSV and browser clipboard interchange
- Result
- flattened
- Import
- Bounded delimited text becomes typed columnar data; over-limit input fails explicitly.
- Export
- Leading formula-like text is neutralized and only the selected/active rectangular data is emitted.
- Known boundary
- CSV/TSV cannot represent workbook structure, formulas with cached semantics, or rich OOXML features.
- Evidence
- 2 checked evidence records
Recorded Microsoft Excel-produced test files
- Result
- warning
- Import
- When separately supplied bytes match their recorded hashes, the scheduled check compares exact expected results and warnings. No result exists in the default checkout.
- Export
- No Excel resave claim is made without separately captured producer evidence.
- Known boundary
- The workbook bytes and reviewed results are not checked in; missing files cannot support a blanket Excel claim.
- Evidence
- 1 checked evidence record
Recorded public Google Sheets export
- Result
- warning
- Import
- Separately supplied bytes may verify only the declared export when the file hash matches; missing bytes display unavailable status.
- Export
- No Google Sheets import or resave behavior is claimed.
- Known boundary
- The local checkout contains metadata only; most Google Sheets workbook behaviors remain explicitly unverified.
- Evidence
- 2 checked evidence records
Warning boundaries
| Feature | Warning code | Meaning |
|---|---|---|
| Styles, merges, validation, notes, panes, names, and hidden sheets | unsupported-feature | A LibreOffice-produced workbook with a recorded file hash imports the declared rich subset and exact warning boundary. |
| Native data-validation subset | unsupported-validation | Declared comparison and list validations round-trip through the canonical validation model. |
| Native workbook tables and structured references | unsupported-feature | Stable table and column identities, body/header/totals/current-row structured references, structural rewrites, and the declared ECMA-376 table subset are implemented. |
| Host-safe external and internal hyperlinks | hyperlink | Absolute HTTPS/mailto targets and stable same-workbook sheet/range targets round-trip with bounded display and style metadata. |
| Bounded native conditional formatting | format-loss | Ordered formula, comparison, contains-text, and blank predicates evaluate dependency-scoped styles with stop-if-true precedence and a 32-rule sheet limit. |
| Charts, macros, pivots, slicers, Power Query, and external data | unsupported-feature | Known undeclared OOXML application parts are detected rather than evaluated. |
| Recorded Microsoft Excel-produced test files | unverified-producer-evidence | Five producer, version, source, and file-hash records are scheduled against the optional XLSX reader. |
| Recorded public Google Sheets export | unverified-producer-evidence | One non-redistributed public export has a recorded URL, producer, file hash, expected subset, and warning boundary. |
Technical evidence file details and checksums
formula-engine-vectors
original-test
Sheetwrite v0.3 protocol 3
- Source
- Original parser, evaluator, dependency, and spill vectors maintained in this repository.
- SHA-256
source-controlled test or manifest- Checked result
- operators; quoted references; FILTER/SORT/UNIQUE spills; explicit errors
- Warnings
- none
formula-document-vectors
original-test
Sheetwrite v0.3 protocol 3
- Source
- Original document, clipboard, history, snapshot, and spill lifecycle vectors.
- SHA-256
source-controlled test or manifest- Checked result
- spill ownership; copy; history; snapshot; dependency invalidation
- Warnings
- none
worksheet-lifecycle-vectors
original-test
Sheetwrite v0.3 protocol 3
- Source
- Original stable-ID worksheet lifecycle and active-session export vectors.
- SHA-256
source-controlled test or manifest- Checked result
- rename; reorder; visibility; active fallback; undo; rebase
- Warnings
- none
worksheet-xlsx-vectors
original-test
Sheetwrite v0.3 protocol 3
- Source
- Original in-memory OOXML packages authored from ECMA-376 worksheet structures.
- SHA-256
source-controlled test or manifest- Checked result
- canonical names; quoted references; visibility; activeTab; visible-sheet invariant
- Warnings
- none
libreoffice-positive
independent-xlsx
LibreOffice 26.2.4.2 build 64a984c51f4702dbd3710b13428c673a2f1292e7
- Source
- Headless LibreOffice conversion; command and source checksum are recorded in fixtures/manifest.json.
- SHA-256
cb7cba1a9a804d7115f69da5730a3186b8ea343eb959eb1e8c3e7b95d9ec3a65- Checked result
- strings; numbers; date-formatted numbers; whitespace; multiple rows
- Warnings
- none
libreoffice-rich
independent-xlsx
LibreOffice 26.2.4.2 build 64a984c51f4702dbd3710b13428c673a2f1292e7
- Source
- Produced independently through LibreOffice UNO; generator checksum is recorded in fixtures/manifest.json.
- SHA-256
75fb643cafcbe660caaff5062423403a592fc483d3dedf8e76ad9b3a006883c2- Checked result
- formulas; styles; merges; validation; notes; freeze panes; named range
- Warnings
- unsupported-feature: hidden worksheet visibility
ecma-shared-formula
spec-xlsx
Hand-authored ECMA-376 package fflate 0.8.3
- Source
- Implementation-neutral shared-formula master/slave XML; generator checksum is recorded in fixtures/manifest.json.
- SHA-256
330da901b938e598948c13e8f1e0530b4691a67c4c23c4841c866d9bd74468a5- Checked result
- shared formula master; two translated slaves
- Warnings
- none
xlsx-conformance-vectors
original-test
Sheetwrite v0.3 protocol 3
- Source
- Retyped implementation-neutral OOXML vectors; no upstream workbook bytes are redistributed.
- SHA-256
source-controlled test or manifest- Checked result
- formats; merges; validation warnings; notes; views; defined names
- Warnings
- exact structured unsupported-feature warnings
workbook-table-vectors
original-test
Sheetwrite v0.3 protocol 3
- Source
- Original minimal OOXML table packages with ECMA-376 clause URLs and archive checksums; no producer test suite is copied.
- SHA-256
source-controlled test or manifest- Checked result
- stable table and column IDs; structured references; native table parts; unsupported table metadata warnings
- Warnings
- exact unsupported table feature warnings
hyperlink-conditional-vectors
original-test
Sheetwrite v0.3 protocol 3
- Source
- Original minimal OPC/SpreadsheetML vectors with ECMA-376 clause URLs and archive checksums.
- SHA-256
source-controlled test or manifest- Checked result
- HTTPS and mailto links; stable internal links; bounded conditional formats; round-trip style and stop precedence
- Warnings
- unsafe hyperlink and unsupported conditional-format warnings
external-producer-manifest
manifest
Apache POI test fixtures and public Google Sheets export POI commit 913c78891bd0cd20945b050c63abfb8c66c88009
- Source
- Pinned producer/version/checksum records; byte execution is scheduled or supplied through SHEETWRITE_EXTERNAL_XLSX_DIR.
- SHA-256
source-controlled test or manifest- Checked result
- five Excel-family records; one Google Sheets record; explicit unverified features
- Warnings
- producer claims remain partial until checksum-locked bytes execute
clipboard-vectors
original-test
Sheetwrite v0.3 protocol 3
- Source
- Original clipboard and delimited-text security/round-trip vectors.
- SHA-256
source-controlled test or manifest- Checked result
- plain text; HTML; formulas; refs; styles; injection neutralization
- Warnings
- none
interop-browser-contract
original-test
Sheetwrite v0.3 protocol 3
- Source
- Real-browser contract over the optional XLSX package and public Grid APIs.
- SHA-256
source-controlled test or manifest- Checked result
- fixture import; round trip; warnings; limits; package isolation
- Warnings
- unsupported behavior remains visible
Exact sources
- Portable arithmetic, comparison, concatenation, and percent operators: spec/source
- Bounded dynamic arrays and spill ranges: spec/source
- Bounded lexical and lazy LET bindings: spec/source
- LAMBDA and reusable named functions: spec/source
- Quoted cross-sheet references through stable worksheet identity: spec/source
- Create, rename, reorder, hide, unhide, remove, and active fallback: spec/source
- veryHidden worksheet preservation: spec/source
- Independent XLSX strings, numbers, dates, and whitespace: checked source file
- Styles, merges, validation, notes, panes, names, and hidden sheets: checked source file
- ECMA-376 shared formula master and translated slaves: spec/source
- Native data-validation subset: spec/source
- Native workbook tables and structured references: spec/source
- Host-safe external and internal hyperlinks: spec/source
- Bounded native conditional formatting: spec/source
- Charts, macros, pivots, slicers, Power Query, and external data: spec/source
- CSV/TSV and browser clipboard interchange: spec/source
- Recorded Microsoft Excel-produced test files: checked source file
- Recorded public Google Sheets export: checked source file