V5 ドキュメントはプレビュー版です。正式リリース(2026 年 8 月 19 日)まで内容が更新されることがあります。

画像はセルを基準に配置します。ws.ImagesSheetImageTable)が保持します。

1 セル固定の画像(上)と 2 セル固定の画像(下)

名前空間は unvell.ReoGrid.Core.Drawing です。

追加する

using unvell.ReoGrid.Core;
using unvell.ReoGrid.Core.Drawing;

var image = new SheetImage
{
	Id = ws.Images.NextId(),
	MimeType = "image/png",
	Data = File.ReadAllBytes("logo.png"),
	AnchorKind = ImageAnchorKind.OneCell,
	From = new ImageAnchor(Row: 1, Col: 1, OffsetX: 4, OffsetY: 4),
	Width = 160,
	Height = 48,
};

ws.Images.Add(image);

画像データはバイト列としてシートに保持されます。外部ファイルへの参照ではないため、 XLSX に保存したファイルは自己完結します。

アンカーの方式

// 2 セル固定 — 行や列のサイズ変更に合わせて画像も伸縮する
ws.Images.Add(new SheetImage
{
	Id = ws.Images.NextId(),
	Data = File.ReadAllBytes("chart.png"),
	AnchorKind = ImageAnchorKind.TwoCell,
	From = new ImageAnchor(1, 1, 0, 0),
	To = new ImageAnchor(10, 6, 0, 0),
});
方式挙動
OneCell左上だけをセルに固定。サイズは Width / Height で固定
TwoCell左上と右下をセルに固定。行・列のサイズ変更で伸縮する

ImageAnchor は行・列に加えてセル内のオフセット(論理ピクセル)を持ちます。

管理する

int count = ws.Images.Count;
bool any = ws.HasImages;

foreach (SheetImage img in ws.Images.Items)
	Console.WriteLine($"{img.Id} {img.MimeType} {img.FileExtension}");

ws.Images.Remove("image1");
ws.Images.Clear();

ws.HasImages はテーブルを生成せずに判定します。

対応形式

PNG と JPEG です。MimeTypeimage/png / image/jpeg を指定します。

描画される場所

すべての描画面で描かれます — 画面(WinForms / WPF / Avalonia)、印刷、PDF 出力。 viewport.ShowImages = false で非表示にできます(エクスポート用途など)。

PDF では画像がそのまま埋め込まれます。

構造変更への追従

行や列を挿入・削除すると、アンカーは自動的に追従します。

保存

XLSX に往復します。drawing パーツとして読み書きされるため、Excel で開いても 同じ位置に表示されます。reogrid-json には保存されません — JSON 形式に 画像を残す必要がある場合は XLSX をお使いください。

制限

  • 図形・テキストボックスは未対応です。 現時点で扱えるのはビットマップ画像のみです
  • 画像の回転・トリミングには対応していません

次に読む

ページの内容は役に立ちましたか?