メモは Excel の**「メモ」**(旧コメント、単一作成者の付箋)に相当します。1 セル 1 件です。 スレッド形式のコメント(返信付き)は対象外です。

付ける
using unvell.ReoGrid.Core;
using unvell.ReoGrid.Core.Comments;
// セルにメモを付ける(1 セル 1 件。再度呼ぶと置き換わる)
ws.SetComment(1, 1, "見積の根拠を確認", author: "花子");
// 常時表示に固定する(既定はホバー時のみ)
ws.SetComment(2, 1, "毎月更新", author: "花子", visible: true);
author は省略できます。visible を立てると吹き出しが開いたままになります
(Excel の「メモの表示/非表示」)。
読む
CellComment? comment = ws.GetComment(1, 1);
if (comment != null)
{
string text = comment.Text;
string? author = comment.Author;
bool pinned = comment.Visible;
_ = (text, author, pinned);
}
// シート全体を行優先で列挙する
foreach (var c in ws.Comments.Items)
{
_ = $"{c.Cell.ToAddress()}: {c.Text}";
}
bool any = ws.HasComments;
_ = any;
Items は行優先の順で返ります。保存(JSON / XLSX)もこの順で書くため、
同じブックを保存し直しても差分が出ません。
変更・削除
// 表示状態を切り替える
ws.SetCommentVisible(1, 1, true);
// 1 件消す。空文字を渡す SetComment でも同じ
ws.RemoveComment(1, 1);
ws.SetComment(2, 1, "");
// 範囲まとめて
int removed = ws.Comments.RemoveRange(RangePosition.Parse("A1:D100"));
_ = removed;
行・列の挿入削除
メモはセルに随伴します。行や列を挿入すればメモも一緒に動き、 メモの付いたセルごと削除されればメモも消えます。この削除は undo で元に戻ります。
描画
- メモのあるセルには右上に赤い三角が描かれます。
- ポインタがそのセルのどこかにある間、メモが吹き出しで表示されます(Excel と同じ)。
Visibleを立てたメモは常に表示されます。 - 吹き出しの見出しは
Authorです。 - 印刷・PDF には出ません(
GridViewport.ShowCommentsが false)。Excel も既定では メモを印刷しません。
描画も当たり判定もコアの GridViewport にあるため、WinForms / WPF / Avalonia の
どのコントロールでも同じように動きます。
Undo と I/O
- メモの編集・削除は
RangeFacets.Commentsで undo に載ります。 - reogrid-json:シートの
commentsとして保存され、reogrid-web と同じ形です。 - XLSX:
xl/comments{n}.xmlと、箱の位置と表示状態を持つ VML の両方を書きます。 Excel は片方だけのファイルを「修復が必要」と判断するため、両方が必要です。 Excel はメモ本文の先頭に太字で作成者:を埋め込む形式なので、書き出し時に付け、 読み込み時に外しています。V5 側のAuthorは Excel を経由しても失われません。
Studio で試す
Review ▸ Edit Note…(Shift+F2)でメモの編集ダイアログが開きます。本文を空にすると削除です。Review ▸ Show / Hide Noteで常時表示を切り替えます。Review ▸ Delete Noteで選択範囲のメモを消します。- セルの右クリックメニューからも同じ操作ができます。