IRONSOFTWAREHOME

Cómo añadir, extraer y eliminar imágenes en Excel utilizando C#

Curtis Chau
Curtis Chau
Updated: 22 de abril de 2026

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 de una sola vez

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 Images, y eliminarla, todo sin tocar Interop.

  1. 1Install IronXL with NuGet Package Manager

    PM > Install-Package IronXL.Excel

  2. 2Copie y ejecute este fragmento de código.

    workSheet.InsertImage("logo.png", 1, 1, 3, 3);
    workSheet.RemoveImage(1);
    var firstImage = workSheet.Images[0];
    C#
  3. 3Despliegue para probar en su entorno real

    Comienza a usar IronXL en tu proyecto hoy mismo con una prueba gratuita
    arrow pointer

¿Cómo añadir imágenes a hojas de cálculo de Excel?

Para insertar una imagen en una hoja de cálculo, utilice el método InsertImage, que admite varios tipos de imágenes, incluidos JPG/JPEG, BMP, PNG, GIF y 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:
    • worksheet.InsertImage("image.gif", 5, 1, 6, 2);
  • Para una imagen de tamaño 2x2:
    • worksheet.InsertImage("image.gif", 5, 1, 7, 3);

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.

Por favor nota: Los ID de las imágenes generadas siguen un patrón de 1, 3, 5, 7, y así sucesivamente.

Esta secuencia de números impares es crucial al referenciar imágenes específicas para operaciones de extracción o eliminación más tarde.

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

El método InsertImage proporciona flexibilidad en la posición y el tamaño de las imágenes dentro de su hoja de trabajo. 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?

Hoja de cálculo con dos logotipos de colores insertados en las celdas C4 y C7, que muestra la inserción correcta de la imagen

¿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.

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");
Explorador de archivos que muestra las imágenes y archivos PNG extraídos en el directorio Documents/Replicate/bin/Debug/net6.0
Hoja de cálculo que muestra tres imágenes extraídas situadas en las celdas C2-E2, C5-E6 y C8-E10 con una cuadrícula de coordenadas

¿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 trabajo. 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.

using IronXL;

WorkBook workBook = WorkBook.Load("insertImages.xlsx");
WorkSheet 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.

Does IronXL require Excel Interop to manage images in Excel files?

No, IronXL does not require Excel Interop. It fully supports adding, extracting, and removing images from Excel files programmatically, eliminating the need for Microsoft Office dependencies.

How can I retain the position of images when extracting them from Excel files with IronXL?

When extracting images with IronXL, you can retrieve their position data, including row and column indices, to preserve layout and positioning information.

Why would I use IronXL for image manipulation in Excel workbooks?

IronXL simplifies image manipulation in Excel, allowing for consistent placement, extraction, and removal of images programmatically without reliance on manual processes or Excel Interop.

Can IronXL handle images in password-protected Excel files?

Yes, IronXL can work with password-protected Excel files. You may need to manage worksheet-level operations to ensure compatibility with image manipulation.

Curtis Chau
Escritor Técnico

Curtis Chau tiene una licenciatura en Ciencias de la Computación (Carleton University) y se especializa en el desarrollo front-end con experiencia en Node.js, TypeScript, JavaScript y React. Apasionado por crear interfaces de usuario intuitivas y estéticamente agradables, disfruta trabajando con frameworks modernos y creando manuales bien estructurados y visualmente atractivos.

...
Leer más

¿Listo para empezar?

Nuget Downloads 2,237,574Versión:2026.9recién lanzado

Obtén tu GRATIS

Clave de prueba de 30 días instantáneamente.

bullet_checkedNo se requiere tarjeta de crédito ni creación de cuenta
bullet_testPrueba en producción
sin marcas de agua
bullet_calendarProducto completamente
funcional por 30 días
bullet_supportSoporte técnico 24/5
durante la prueba
Obtenga su Clave de Prueba de 30 días gratis al instante.
No se requiere tarjeta de crédito ni creación de cuenta
Biblioteca C# NuGet para PDF
Instalar con NuGet

Versión: 2026.9

PM > Install-Package IronXL.Excel
nuget.org/packages/IronXL.Excel/
  1. En el Explorador de Soluciones, haga clic derecho en Referencias, Administrar Paquetes NuGet
  2. Seleccione Examinar y busque 'IronXL'
  3. Seleccione el paquete e instale
C# PDF DLL
Descargar DLL

Versión: 2026.9

  1. Descargue y descomprima IronXL en una ubicación como ~/Libs dentro del directorio de su Solución
  2. En Visual Studio Solution Explorer, haga clic derecho en Referencias. Seleccione Examinar, 'IronXL.dll'

Licencias desde $999

Key in blue circle

Obtenga su clave de prueba gratuita de 30 días al instante.

Your trial license will be sent to your email address

Sin limitaciones. 100 % desbloqueado. Sin tarjeta de crédito.

bullet_checkedNo se requiere tarjeta de crédito ni creación de cuentaSin limitaciones. 100 % desbloqueado. Sin tarjeta de crédito.
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
Reserve su Demostración en Vivo gratuita
Booking Badge

Confiado por millones de ingenieros en todo el mundo

Logos de clientes de Iron Software
Obtén tu Consulta Sin Compromiso
Completa el formulario a continuación o envía un correo a sales@ironsoftware.com
Tus detalles siempre serán mantenidos confidenciales.
Confiado por millones de ingenieros en todo el mundo
Logos de clientes de Iron Software
Obtenga su Clave de Prueba de 30 días gratis al instante.
No se requiere tarjeta de crédito ni creación de cuenta