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 a spreadsheet using IronXL, use the `InsertImage` method. This method supports various image formats like JPG, BMP, PNG, GIF, and TIFF. You need to specify the top-left and bottom-right corners of the image to set its dimensions. What image formats are supported by the InsertImage method? The InsertImage method in IronXL supports multiple image formats including JPG/JPEG, BMP, PNG, GIF, and TIFF. How do I extract images from an Excel worksheet? To extract images using IronXL, access the `Images` property of the worksheet. This provides a list of all images, allowing you to export, resize, retrieve positions, and obtain the byte data of each image. Can I remove images from an Excel worksheet? Yes, you can remove images using IronXL by passing the image's ID number to the `RemoveImage` method. This will remove the specified image from the worksheet. What is required to start using a library for image manipulation in Excel? To begin using IronXL for manipulating images in Excel, you need to download the IronXL C# library from NuGet and either load an existing Excel file or create a new one. How are image IDs generated? Image IDs in IronXL follow an odd-numbered pattern, incrementing in the sequence of 1, 3, 5, 7, and so on. 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 such as PNG using the `Export` method. Chaknith Bin Chat with engineering team now Software Engineer Chaknith is the Sherlock Holmes of developers. It first occurred to him he might have a future in software engineering, when he was doing code challenges for fun. His focus is on IronXL and IronBarcode, but he takes pride in helping customers with every product. Chaknith leverages his knowledge from talking directly with customers, to help further improve the products themselves. His anecdotal feedback goes beyond Jira tickets and supports product development, documentation and marketing, to improve customer’s overall experience.When he isn’t in the office, he can be found learning about machine learning, coding and hiking. Ready to Get Started? Free NuGet Download Total downloads: 1,497,580 View Licenses