Comments
Legacy single-author cell notes with author + rich text + author color
Spreadsheet supports Excel's legacy comments model — single-author notes with rich text + author metadata, anchored to a single cell. These map to OOXML comments.xml on round-trip.
Excel 2016+ threaded comments (with replies and resolved state, stored in commentsThreaded.xml) are not yet supported.
Authoring a comment
A comment lives on CellData.note as plain text, or as a richer pointer via commentThreadId (reserved for the future threaded model). For the legacy single-author case, note is the field:
const cellData: CellData = {
ue: { sv: "Q3 revenue" },
fv: "Q3 revenue",
note: "Includes the Atlas-2 contract — see slack #revenue for context.",
};The renderer paints a small triangle marker in the cell's corner. Hovering shows the note.
Round-trip
XLSX: parsed from
xl/comments<N>.xml, emitted on the way out. Author + creation timestamp preserved.ODS: parsed from
office:annotationchildren of the cell node.
Threading
Excel 2016 introduced threaded comments stored in xl/threadedComments/threadedComment<N>.xml — different file, different schema. These carry replies, resolved state, person IDs, and @mentions in the thread body.
Threading is currently a Tier-1 round-trip gap. Files that use threaded comments will:
Import: the legacy comment shim (
comments.xml) is still read; threaded replies + resolved state are dropped.Export: written as a flat legacy comment.
Track it on docs/getting-started/excel-google-sheet-compatibility.md under "Comments (threaded with replies)".
Mentions in comments
For @user mentions inside notes / comments, see Mentions. Mentions work on the live cell editor; persistence into the threaded-comments OOXML store is part of the same gap above.
Last updated