Cómo añadir, extraer y eliminar imágenes en Excel utilizando C#
IronXL permite a los desarrolladores de C# insertar mediante programación imágenes en hojas de cálculo de Excel, extraer imágenes existentes con sus propiedades y eliminar imágenes no deseadas utilizando métodos sencillos de API sin dependencias de Excel Interop. Esta funcionalidad es esencial a la hora de crear archivos Excel en .NET que requieran elementos visuales como logotipos de empresas, imágenes de productos o gráficos de visualización de datos.
Añadir imágenes enriquece los datos con gráficos o ilustraciones relevantes. La eliminación de imágenes simplifica la edición y organización del contenido. La extracción de imágenes permite reutilizarlas en otros documentos o aplicaciones y actualizar las imágenes existentes. Estas funciones proporcionan un control completo sobre la manipulación de imágenes dentro de los libros de Excel.
Inicio rápido: Insertar, Extraer y Eliminar Imágenes en un Paso
Utiliza la intuitiva API de IronXL para añadir, obtener y eliminar imágenes de las hojas de cálculo en tan solo unas líneas. Este ejemplo muestra cómo insertar una imagen, acceder a ella a través de la colección Imágenes y eliminarla, todo ello sin tocar Interop.
Empieza a crear PDF con NuGet ahora:
Instalar IronXL con el gestor de paquetes NuGet
Copie y ejecute este fragmento de código.
workSheet.InsertImage("logo.png", 1, 1, 3, 3); workSheet.RemoveImage(1); var firstImage = workSheet.Images[0];Despliegue para probar en su entorno real
Empieza a utilizar IronXL en tu proyecto hoy mismo con una prueba gratuita
Flujo de trabajo mínimo (5 pasos)
- Descargue la biblioteca C# para insertar, extraer y eliminar imágenes de hojas de cálculo
- Importe un archivo de Excel existente o cree uno nuevo
- Utilice el método
InsertImagepara insertar una imagen en la hoja de cálculo - Acceda a la propiedad Imágenes para extraer imágenes y su información
- Proporcione el ID al método
RemoveImagepara eliminar la imagen
¿Cómo añadir imágenes a hojas de cálculo de Excel?
To insert an image into a spreadsheet, use the InsertImage method, which supports various image types including JPG/JPEG, BMP, PNG, GIF, and TIFF. Esta capacidad es especialmente útil cuando se necesita crear gráficos de Excel en C# y complementarlos con elementos visuales adicionales. Especifique las esquinas superior izquierda e inferior derecha de la imagen para determinar sus dimensiones, calculadas restando los valores de columna y fila.
La firma del método requiere cinco parámetros: la ruta del archivo de imagen y cuatro números enteros que representan la columna inicial, la fila inicial, la columna final y la fila final. La imagen se estirará o comprimirá para ajustarse al rango de celdas definido. Por ejemplo:
- Para una imagen de tamaño 1x1:
- <código>worksheet.InsertImage("imagen.gif", 5, 1, 6, 2);</código
- Para una imagen de tamaño 2x2:
- <código>worksheet.InsertImage("imagen.gif", 5, 1, 7, 3);</código
Cuando trabaje con imágenes en Excel, comprenda cómo IronXL las gestiona internamente. Cada imagen insertada recibe un ID único que sigue un patrón específico.
:path=/static-assets/excel/content-code-examples/how-to/add-remove-extract-worksheet-images-insert.csusing 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")El método InsertImage proporciona flexibilidad a la hora de posicionar y dimensionar imágenes dentro de la hoja de cálculo. A diferencia de la inserción manual de imágenes en Excel, la inserción programática garantiza una colocación coherente en varios archivos, por lo que resulta ideal para generar informes o documentos que requieren un formato estandarizado. Este enfoque es especialmente beneficioso cuando se trabaja con Excel en C# sin Interop, ya que elimina las dependencias de las instalaciones de Microsoft Office.
¿Qué aspecto tiene la imagen insertada en Excel?

¿Cómo puedo extraer imágenes de archivos Excel?
To extract images from the selected worksheet, access the Images property, which provides a list of all images contained within the sheet. Esta función es esencial cuando se necesita cargar archivos Excel sin Interop y procesar su contenido visual incrustado. De esta lista, puede realizar varias operaciones como exportar, redimensionar, recuperar posiciones y obtener los datos de bytes de cada imagen. Los ID de las imágenes siguen un patrón impar, incrementándose en la secuencia de 1, 3, 5, 7 y así sucesivamente.
El proceso de extracción proporciona un acceso completo a las propiedades y los datos de las imágenes, lo que permite a los desarrolladores:
- Exportación de imágenes a varios formatos (PNG, JPEG, BMP, etc.)
- Recuperar información de posicionamiento de imágenes para conservar el diseño
- Acceso a datos de bytes sin procesar para procesamiento o almacenamiento personalizados
- Redimensionar imágenes mediante programación sin bibliotecas externas de procesamiento de imágenes
Esta funcionalidad resulta inestimable a la hora de migrar contenidos entre distintos formatos de documentos o de crear sistemas que necesiten catalogar y gestionar activos visuales a partir de archivos Excel. La capacidad de extraer imágenes mediante programación también es compatible con los procesos automatizados de control de calidad en los que las imágenes necesitan validación o procesamiento de acuerdo con reglas empresariales específicas.
:path=/static-assets/excel/content-code-examples/how-to/add-remove-extract-worksheet-images-extract.csusing 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")
Imágenes extraídas

Tamaño de la imagen
¿Cómo eliminar imágenes de hojas de cálculo de Excel?
Following the extract images example, you can easily remove any inserted image using its corresponding index number. Pase el número de ID de la imagen al método RemoveImage para eliminarla de la hoja de cálculo. Esta operación es especialmente útil cuando se necesita editar archivos Excel en C# para limpiar elementos visuales no deseados o preparar documentos para diferentes audiencias.
El proceso de eliminación es sencillo, pero requiere comprender el sistema de identificación de imágenes. Dado que IronXL asigna ID en una secuencia de números impares (1, 3, 5, 7...), realice un seguimiento de estos ID cuando gestione varias imágenes. Considere la posibilidad de implementar un sistema de mapeo en su aplicación para asociar nombres significativos con ID de imágenes para facilitar la gestión.
:path=/static-assets/excel/content-code-examples/how-to/add-remove-extract-worksheet-images-remove.csusing 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")Para situaciones más complejas en las que intervienen varias hojas de cálculo e imágenes, explore gestión de hojas de cálculo para comprender cómo interactúan las operaciones de imagen con las operaciones a nivel de hoja de cálculo. Además, cuando trabaje con archivos de Excel protegidos, consulte nuestra guía sobre protección de archivos de Excel para comprender cómo funcionan las operaciones de imagen con libros protegidos por contraseña.
Preguntas Frecuentes
¿Cómo añado imágenes a hojas de cálculo Excel mediante programación en C#?
IronXL proporciona el método InsertImage para agregar imágenes a las hojas de cálculo de Excel. Simplemente especifique la ruta del archivo de imagen y las coordenadas del rango de celdas (esquinas superior izquierda e inferior derecha) donde desea que aparezca la imagen. IronXL admite varios formatos de imagen, como JPG/JPEG, BMP, PNG, GIF y TIFF.
¿Qué formatos de imagen se admiten al insertar imágenes en Excel?
IronXL soporta múltiples formatos de imagen para insertar en hojas de cálculo de Excel, incluyendo JPG/JPEG, BMP, PNG, GIF y TIFF. Esta flexibilidad le permite trabajar con varios tipos de imágenes utilizadas habitualmente en documentos empresariales y visualización de datos.
¿Cómo extraigo imágenes existentes de una hoja de cálculo de Excel?
Puede extraer imágenes de hojas de cálculo de Excel utilizando la propiedad de colección Images de IronXL. Acceda a worksheet.Images[index] para recuperar imágenes específicas junto con sus propiedades y metadatos, lo que le permite reutilizarlas en otros documentos o aplicaciones.
¿Puedo eliminar imágenes de archivos Excel mediante programación?
Sí, IronXL proporciona el método RemoveImage para eliminar imágenes de las hojas de trabajo. Simplemente proporcione el ID de la imagen para eliminar imágenes específicas, dándole un control completo sobre la gestión de imágenes sin requerir Excel Interop.
¿Cómo especifico el tamaño y la posición de una imagen insertada?
Cuando se utiliza el método InsertImage de IronXL, se especifican cuatro coordenadas: columna inicial, fila inicial, columna final y fila final. La imagen se estirará o comprimirá automáticamente para ajustarse al rango de celdas definido. Por ejemplo, InsertImage("imagen.gif", 5, 1, 6, 2) crea una imagen de tamaño 1x1.
¿Necesito tener instalado Microsoft Excel para manipular imágenes en hojas de cálculo?
No, IronXL funciona de forma independiente sin requerir dependencias de Microsoft Excel o Excel Interop. Puede agregar, extraer y eliminar imágenes de archivos de Excel mediante programación utilizando sólo la biblioteca IronXL en su aplicación .NET.






