.xlsx Excel Workbook (transitional) |
R/W, native |
yes |
yes |
Cells, shared/array/dynamic formulas, styles, themes, merges, CF, validation, tables, comments and notes, hyperlinks, names, freeze panes, outline, print settings, pictures, shapes, charts (simplified, see chart-parity.md), sparklines, PivotTables (caches and tables), protection, calc settings. Kept unchanged on save (pass-through, passthrough.rs): custom document properties, ribbon customisation and add-in task panes, custom XML, links to external workbooks (never followed or refreshed), data connections, sheet query tables, printer settings (#324), form controls, ActiveX controls, OLE objects and sheet backgrounds (with their VML shapes); dropped when their sheet is deleted or their parts point at content GridCraft rewrites. Not preserved: slicers and slicer caches, timelines, data model, query tables attached to tables, sheet and workbook extLst entries we don't model, chart details; Strict Open XML files keep nothing. Never checked in Excel across a corpus: repair prompts unknown. 100 MB files fail (#175) |
roundtrip.rs, fixtures.rs, malformed.rs, pivot_tests.rs |
.xlsx Excel Workbook (transitional) |
R/W, native |
yes |
yes |
Cells, shared/array/dynamic formulas, styles, themes, merges, CF, validation, tables, notes (with their shown/hidden state) and threaded comments with replies, resolved state and timestamps (threadedComments and persons parts, #300), hyperlinks, names, freeze panes, outline, print settings, pictures, shapes, charts (simplified, see chart-parity.md), sparklines, PivotTables (caches and tables), protection, calc settings. Not preserved: unmodelled parts and extensions (form controls, slicer caches, timelines, external links, OLE objects, custom XML, data model, query tables, chart details). Never checked in Excel across a corpus: repair prompts unknown. 100 MB files fail (#175) |
roundtrip.rs, fixtures.rs, malformed.rs, pivot_tests.rs |
.xlsx Excel Workbook (transitional) |
R/W, native |
yes |
yes |
Cells, shared/array/dynamic formulas, styles, themes, merges, CF, validation, tables, comments and notes, hyperlinks, names, freeze panes, outline, print settings, pictures, shapes, charts (simplified, see chart-parity.md), sparklines, PivotTables (caches and tables), protection, Allow Edit Ranges (protectedRanges with their password hashes, #307), calc settings. Not preserved: unmodelled parts and extensions (form controls, slicer caches, timelines, external links, OLE objects, custom XML, data model, query tables, chart details). Never checked in Excel across a corpus: repair prompts unknown. 100 MB files fail (#175) |
roundtrip.rs, fixtures.rs, malformed.rs, pivot_tests.rs |
.xlsx Strict Open XML |
R/W |
yes |
no (writes transitional) |
Excel also saves transitional by default |
fixtures |
.xlsm Macro-Enabled Workbook |
R/W |
yes |
yes, without macros |
VBA project dropped with a warning; saving as .xlsm loses the macros (#6) |
— |
.xltx / .xltm templates |
R/W |
yes |
partial |
Saved with the workbook content type, not the template one; "new from template" behaviour missing |
— |
.xlsb Binary Workbook |
R/W |
values only (#101) |
no |
Names, visibility, numbers, text, booleans, errors, merges, cached formula results; no formulas, formatting, charts, names |
xlsb_tests.rs |
.xls Excel 97-2003 (BIFF8) |
R/W |
yes, partial (#121) |
no (Save As .xlsx) |
Clean-room from [MS-CFB] and [MS-XLS]. Read: worksheets and visibility, shared strings, numbers, text, booleans, errors, formulas (text for the common tokens, shared and array formulas, 3-D refs, names, newer functions called by name) with cached results, number formats (dates display as dates), 1904 date system, merges, column widths, row heights, defined names, print area and titles. Not read: fonts, fills, borders, alignment, charts, pictures, comments, CF, validation, hyperlinks, freeze panes, external links (formula kept as its value). Chart and macro sheets skipped with a warning; encrypted (FILEPASS) and BIFF5 (Excel 5.0/95) files refused with a message. Opens as a new unsaved workbook. Unverified on a real-world corpus |
xls_tests.rs |
.xlt Excel 97-2003 template |
R/W |
yes (read as .xls) |
no |
|
— |
.xlam / .xla add-ins |
R/W |
no |
no |
VBA; out of scope |
— |
.xml XML Spreadsheet 2003 |
R/W |
no |
no |
Simple to support |
— |
.ods OpenDocument Spreadsheet |
R/W |
values only (#100) |
no |
Sheets, values, dates, merges, repeated cells, cached formula results; no formulas, formatting, charts; encrypted ODS refused |
ods_tests.rs |
| Password-encrypted workbooks (Agile/Standard encryption) |
R/W |
no; recognised and refused with a clear message since #17 |
no |
Common in business; needs AES decryption on top of the new CFB reader (crates/xlsx/src/cfb.rs) |
— |
.xlw Excel 4.0 workbook, .wk*, .dbf |
open only (some) |
no |
no |
Rare |
— |