OptionaladvancedA format for users who go looking: real and fully supported, but not featured.
It earns no entry of its own in curated chrome — the Save As menu, which is a short list of
the formats most people want — while staying available everywhere the COMPLETE set is
offered: the native picker's "save as type" dropdown, a --format argument, and
IWorkbookIO.getWriteFormats itself. Nothing about reading or writing it is
special-cased; only its prominence is.
This is a demotion, not a hiding: a format nobody may write does not belong in the registry
at all. Use it where a menu entry would cost more attention than it earns — 'SheetXL Workbook (JSON)' next to 'SheetXL Workbook', whose difference (pretty-printed and
uncompressed) matters to a developer and to no one else.
OptionaldescriptionA human readable name for the format, as shown in a Save As type dropdown.
This is a file-type NOUN PHRASE — '<Family> <DocumentKind>', plus an optional '(Variant)'
— not a brand and not an adjective: 'Excel Workbook', 'SheetXL Workbook',
'SheetXL Workbook (JSON)', 'Comma Separated Values'. It goes verbatim into the native file
picker's type list (the browser appends (*.ext) itself), so a bare brand ('SheetXL') reads
as a vendor rather than a file type, and a bare adjective ('Comma Delimited') never says
delimited what.
A variant belongs in PARENTHESES when it is a noun ('(JSON)'), and before the document kind
only when it is a true adjective ('Excel Binary Workbook') — 'SheetXL JSON Workbook'
stacks three nouns with no grammatical joint. Excel ships the parenthesized-and-then-extension
form itself: 'CSV (Comma delimited) (*.csv)'.
It is also substituted into sentences such as "Save as {description}", which is the other reason it must stand alone as a noun.
The file extensions that this type of supports.
The handler function for importing a workbook from this format.
The key used to identify the type of import.
The mime type of the import.
OptionaltagsTags that are used by the UI.
A registration-side read format: the consumer-facing FormatType chrome plus the decode handler. Used by plugins / the registry only — the handler is never part of the consumption surface (IWorkbookIO.getReadFormats returns plain FormatTypes).