Cómo agregar, extraer y eliminar imágenes de hojas de cálculo | IronXL

How to Add, Extract, and Remove Images from Worksheets

This article was translated from English: Does it need improvement?
Translated
View the article in English

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.

Quickstart: Insert, Extract & Remove Images in One Go

Use IronXL’s intuitive API to add, get, and delete images from worksheets in just a few lines. This example shows how easy it is to insert an image, access it via the Images collection, and then remove it—all without ever touching Interop.

Nuget IconGet started making PDFs with NuGet now:

  1. Install IronXL with NuGet Package Manager

    PM > Install-Package IronXL.Excel

  2. Copy and run this code snippet.

    workSheet.InsertImage("logo.png", 1, 1, 3, 3);
    workSheet.RemoveImage(1);
    var firstImage = workSheet.Images[0];
  3. Deploy to test on your live environment

    Start using IronXL in your project today with a free trial
    arrow pointer


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);

Por favor notaThe 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

Insert Image

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

Preguntas Frecuentes

¿Cómo puedo agregar imágenes a una hoja de cálculo de Excel?

Para insertar una imagen en una hoja de cálculo de Excel usando IronXL, utilice el método InsertImage. Este método le permite especificar las dimensiones de la imagen definiendo las esquinas superior izquierda e inferior derecha. Los formatos compatibles incluyen JPG, BMP, PNG, GIF y TIFF.

¿Qué formatos de imagen son compatibles al insertar imágenes en Excel?

IronXL admite múltiples formatos de imagen para su inserción en hojas de cálculo de Excel, incluidos JPG/JPEG, BMP, PNG, GIF y TIFF.

¿Cómo extraigo imágenes de una hoja de cálculo de Excel?

Para extraer imágenes de una hoja de cálculo de Excel usando IronXL, acceda a la propiedad Images de la hoja de cálculo. Esto proporciona una lista de todas las imágenes, permitiéndole exportar, cambiar de tamaño, y recuperar sus posiciones y datos de bytes.

¿Puedo eliminar imágenes de una hoja de cálculo de Excel?

Sí, con IronXL, puede eliminar imágenes de una hoja de cálculo de Excel utilizando el método RemoveImage. Simplemente pase el ID de la imagen a este método para eliminarla.

¿Qué se requiere para comenzar a manipular imágenes en Excel usando C#?

Para comenzar a manipular imágenes en Excel usando IronXL, descargue la biblioteca IronXL para C# desde NuGet y cargue un archivo de Excel existente o cree uno nuevo.

¿Cómo se generan los IDs de imagen en IronXL?

En IronXL, los IDs de imagen se generan siguiendo un patrón de números impares, como 1, 3, 5, 7, y así sucesivamente.

¿Es posible exportar imágenes extraídas de una hoja de cálculo de Excel?

Sí, una vez que las imágenes son extraídas utilizando la propiedad Images de IronXL, pueden ser exportadas a formatos como PNG usando el método Export.

¿Cómo puedo especificar el tamaño de una imagen al insertarla en una hoja de cálculo de Excel?

Al insertar una imagen en una hoja de cálculo de Excel usando IronXL, especifique el tamaño proporcionando las esquinas superior izquierda e inferior derecha de la imagen a través del método InsertImage.

Chaknith Bin
Ingeniero de Software
Chaknith trabaja en IronXL e IronBarcode. Tiene un profundo conocimiento en C# y .NET, ayudando a mejorar el software y apoyar a los clientes. Sus conocimientos derivados de las interacciones con los usuarios contribuyen a mejores productos, documentación y experiencia en general.
¿Listo para empezar?
Nuget Descargas 1,686,155 | Versión: 2025.11 recién lanzado