Add Images to Excel Files
The example below shows how you can add images and position them in various ways, in C# and VB.NET using GemBox.Spreadsheet.
using GemBox.Spreadsheet;
class Program
{
static void Main()
{
// If using the Professional version, put your serial key below.
SpreadsheetInfo.SetLicense("FREE-LIMITED-KEY");
var workbook = new ExcelFile();
var worksheet = workbook.Worksheets.Add("Images");
// Add small BMP image with specified rectangle position.
worksheet.Pictures.Add("%#SmallImage.bmp%", 50, 50, 48, 48, LengthUnit.Pixel);
// Add large JPG image with specified top-left cell.
worksheet.Pictures.Add("%#FragonardReader.jpg%", "B9");
// Add PNG image with specified top-left and bottom-right cells.
worksheet.Pictures.Add("%#Dices.png%", "J16", "K20");
// Add GIF image using anchors.
var picture = worksheet.Pictures.Add("%#Zahnrad.gif%",
new AnchorCell(worksheet.Columns[9], worksheet.Rows[21], 100000, 100000),
new AnchorCell(worksheet.Columns[10], worksheet.Rows[23], 50000, 50000));
// Set picture's position mode.
picture.Position.Mode = PositioningMode.Move;
// Add SVG image with specified top-left cell and size.
picture = worksheet.Pictures.Add("%#Graphics1.svg%", "J9", 250, 100, LengthUnit.Pixel);
// Set picture's metadata.
picture.Metadata.Name = "SVG Image";
workbook.Save("Images.%OutputFileType%");
}
}
Imports GemBox.Spreadsheet
Module Program
Sub Main()
' If using the Professional version, put your serial key below.
SpreadsheetInfo.SetLicense("FREE-LIMITED-KEY")
Dim workbook = New ExcelFile
Dim worksheet = workbook.Worksheets.Add("Images")
' Add small BMP image with specified rectangle position.
worksheet.Pictures.Add("%#SmallImage.bmp%", 50, 50, 48, 48, LengthUnit.Pixel)
' Add large JPG image with specified top-left cell.
worksheet.Pictures.Add("%#FragonardReader.jpg%", "B9")
' Add PNG image with specified top-left and bottom-right cells.
worksheet.Pictures.Add("%#Dices.png%", "J16", "K20")
' Add GIF image using anchors.
Dim picture = worksheet.Pictures.Add("%#Zahnrad.gif%",
New AnchorCell(worksheet.Columns(9), worksheet.Rows(21), 100000, 100000),
New AnchorCell(worksheet.Columns(10), worksheet.Rows(23), 50000, 50000))
' Set picture's position mode.
picture.Position.Mode = PositioningMode.Move
' Add SVG image with specified top-left cell and size.
picture = worksheet.Pictures.Add("%#Graphics1.svg%", "J9", 250, 100, LengthUnit.Pixel)
' Set picture's metadata.
picture.Metadata.Name = "SVG Image"
workbook.Save("Images.%OutputFileType%")
End Sub
End Module

GemBox.Spreadsheet supports all popular image formats like PNG, JPEG, EXIF, GIF, TIFF, ISO, SVG, EMF, and WMF. However, note that only PNG, JPEG, and EMF images are supported in XLS files (old binary format).
In PDF files, the SVG images are rendered as vector graphics, resulting in smaller file sizes and better quality than bitmap images (PNG, JPEG, BMP, etc.).