IronXL How-Tos Add, Extract, and Remove Images How to Add, Extract, and Remove Images from Worksheets Chaknith Bin Updated:July 28, 2025 Introduction By adding images, users can enrich their data with relevant graphics or illustrations. Removing or deleting images simplifies content editing and organization. Additionally, the ability to retrieve images allows for repurposing them in other documents or applications, as well as updating existing images. Collectively, these features enhance user control over images, improve the overall user experience, and enable seamless image manipulation within Excel workbooks. How to Add, Extract, and Remove Images from Worksheets Download the C# library to insert, extract, and remove images from spreadsheets Import an existing Excel file or create a new one Use the InsertImage method to insert an image into the worksheet Access the Images property to extract images and their information Supply the ID to the RemoveImage method to remove the image Get started with IronXL Start using IronXL in your project today with a free trial. First Step: Start for Free Add Images Example To insert an image into a spreadsheet, utilize the InsertImage method, which supports various image types, such as JPG/JPEG, BMP, PNG, GIF, and TIFF. You must specify the top-left and bottom-right corners of the image to determine its dimensions, calculated by subtracting the column and row values. For example, you can try the following approaches: For a 1x1 image size: worksheet.InsertImage("image.gif", 5, 1, 6, 2); For a 2x2 image size: worksheet.InsertImage("image.gif", 5, 1, 7, 3); Please noteThe generated image IDs follow a pattern of 1, 3, 5, 7, and so on. :path=/static-assets/excel/content-code-examples/how-to/add-remove-extract-worksheet-images-insert.cs using IronXL; WorkBook workBook = WorkBook.Create(); WorkSheet workSheet = workBook.DefaultWorkSheet; // Insert images workSheet.InsertImage("ironpdf.jpg", 2, 2, 4, 4); workSheet.InsertImage("ironpdfIcon.png", 2, 6, 4, 8); workBook.SaveAs("insertImages.xlsx"); Imports IronXL Private workBook As WorkBook = WorkBook.Create() Private workSheet As WorkSheet = workBook.DefaultWorkSheet ' Insert images workSheet.InsertImage("ironpdf.jpg", 2, 2, 4, 4) workSheet.InsertImage("ironpdfIcon.png", 2, 6, 4, 8) workBook.SaveAs("insertImages.xlsx") $vbLabelText $csharpLabel Output Spreadsheet Extract Images Example To extract images from the selected worksheet, simply access the Images property, which provides a list of all the images contained within the sheet. From this list, you can perform various operations such as exporting, resizing, retrieving positions, and obtaining the byte data of each image. Notably, the image IDs follow an odd-numbered pattern, incrementing in the sequence of 1, 3, 5, 7, and so on. :path=/static-assets/excel/content-code-examples/how-to/add-remove-extract-worksheet-images-extract.cs using IronSoftware.Drawing; using IronXL; using IronXL.Drawing; using System; using System.Collections.Generic; WorkBook workBook = WorkBook.Load("insertImages.xlsx"); WorkSheet workSheet = workBook.DefaultWorkSheet; // Retreive images List<IronXL.Drawing.Images.IImage> images = workSheet.Images; // Select each image foreach (IronXL.Drawing.Images.IImage image in images) { // Save the image AnyBitmap anyBitmap = image.ToAnyBitmap(); anyBitmap.SaveAs($"{image.Id}.png"); // Resize the image image.Resize(1,3); // Retrieve image position Position position = image.Position; Console.WriteLine("top row index: " + position.TopRowIndex); Console.WriteLine("bottom row index: " + position.BottomRowIndex); // Retrieve byte data byte[] imageByte = image.Data; } workBook.SaveAs("resizeImage.xlsx"); Imports IronSoftware.Drawing Imports IronXL Imports IronXL.Drawing Imports System Imports System.Collections.Generic Private workBook As WorkBook = WorkBook.Load("insertImages.xlsx") Private workSheet As WorkSheet = workBook.DefaultWorkSheet ' Retreive images Private images As List(Of IronXL.Drawing.Images.IImage) = workSheet.Images ' Select each image For Each image As IronXL.Drawing.Images.IImage In images ' Save the image Dim anyBitmap As AnyBitmap = image.ToAnyBitmap() anyBitmap.SaveAs($"{image.Id}.png") ' Resize the image image.Resize(1,3) ' Retrieve image position Dim position As Position = image.Position Console.WriteLine("top row index: " & position.TopRowIndex) Console.WriteLine("bottom row index: " & position.BottomRowIndex) ' Retrieve byte data Dim imageByte() As Byte = image.Data Next image workBook.SaveAs("resizeImage.xlsx") $vbLabelText $csharpLabel Extracted Images Image Size Remove Image Example Following the extract images example, you can easily remove any inserted image using its corresponding index number. Simply pass the image's ID number to the RemoveImage method to remove it from the worksheet. :path=/static-assets/excel/content-code-examples/how-to/add-remove-extract-worksheet-images-remove.cs using IronXL; WorkBook workBook = WorkBook.Load("insertImages.xlsx"); WorkSheet workSheet = workBook.DefaultWorkSheet; // Remove image workSheet.RemoveImage(3); workBook.SaveAs("removeImage.xlsx"); Imports IronXL Private workBook As WorkBook = WorkBook.Load("insertImages.xlsx") Private workSheet As WorkSheet = workBook.DefaultWorkSheet ' Remove image workSheet.RemoveImage(3) workBook.SaveAs("removeImage.xlsx") $vbLabelText $csharpLabel Frequently Asked Questions How can I add images to an Excel worksheet? To insert an image into an Excel worksheet using IronXL, use the InsertImage method. This method allows you to specify the image dimensions by defining the top-left and bottom-right corners. Supported formats include JPG, BMP, PNG, GIF, and TIFF. What image formats are supported when inserting images in Excel? IronXL supports multiple image formats for insertion into Excel worksheets, including JPG/JPEG, BMP, PNG, GIF, and TIFF. How do I extract images from an Excel worksheet? To extract images from an Excel worksheet using IronXL, access the Images property of the worksheet. This provides a list of all images, enabling you to export, resize, and retrieve their positions and byte data. Can I remove images from an Excel worksheet? Yes, with IronXL, you can remove images from an Excel worksheet by using the RemoveImage method. Simply pass the image's ID to this method to remove it. What is required to start manipulating images in Excel using C#? To start manipulating images in Excel using IronXL, download the IronXL C# library from NuGet and either load an existing Excel file or create a new one. How are image IDs generated in IronXL? In IronXL, image IDs are generated following an odd-numbered pattern, such as 1, 3, 5, 7, and so forth. Is it possible to export images extracted from an Excel worksheet? Yes, once images are extracted using IronXL's Images property, they can be exported to formats like PNG using the Export method. How can I specify the size of an image when inserting it into an Excel worksheet? When inserting an image into an Excel worksheet using IronXL, specify the size by providing the top-left and bottom-right corners of the image through the InsertImage method. Chaknith Bin Chat with engineering team now Software Engineer Chaknith works on IronXL and IronBarcode. He has deep expertise in C# and .NET, helping improve the software and support customers. His insights from user interactions contribute to better products, documentation, and overall experience. Ready to Get Started? Free NuGet Download Total downloads: 1,552,917 View Licenses