How to: Place a Picture in a Cell
You can place an image in a cell similar to the “Place in Cell” option in Microsoft Excel. Such image types are available in the XLSX, XLSM, XLTX, and XLTM document formats.
Use the CellRange.Value property to assign an image to a cell. The following object types are available as an image source:
Byte[]
System.IO.Stream
System.Drawing.Image
- DXImage
- OfficeImage
The Cell.ImageInfo property allows you to specify additional image information: alternative text and whether the image is marked as decorative.
The following code snippet places an image from a stream in a cell and specifies its alternative text:
Worksheet worksheet = workbook.Worksheets.ActiveWorksheet;
MemoryStream imageStream = new MemoryStream(imageBytes);
// Insert cell images from a stream
worksheet.Cells["A2"].Value = imageStream;
// Specify image information
if (worksheet.Cells["A2"].Value.IsCellImage) {
worksheet.Cells["A2"].ImageInfo.Decorative = true;
worksheet.Cells["A2"].ImageInfo.AlternativeText = "Image AltText";
}
workbook.SaveDocument("result.xlsx");
To determine if a cell has an embedded image, use the CellValue.IsCellImage property. Use the CellValue.ImageValue property to obtain the cell image value as an OfficeImage object.