Cómo añadir, extraer y eliminar imágenes de las hojas de cálculo

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

por Chaknith Bin

Introducción

Añadiendo imágenes, los usuarios pueden enriquecer sus datos con gráficos o ilustraciones relevantes. Eliminar o borrar imágenes simplifica la edición y organización de contenidos. Además, la posibilidad de recuperar imágenes permite reutilizarlas en otros documentos o aplicaciones, así como actualizar las imágenes existentes. En conjunto, estas funciones aumentan el control del usuario sobre las imágenes, mejoran la experiencia general del usuario y permiten manipular imágenes sin problemas dentro de los libros de Excel.


Comienza con IronXL

Comience a usar IronXL en su proyecto hoy con una prueba gratuita.

Primer Paso:
green arrow pointer


Ejemplo de adición de imágenes

Para insertar una imagen en una hoja de cálculo, utilice la función InsertarImagen que admite varios tipos de imágenes, como JPG/JPEG, BMP, PNG, GIF y TIFF. Debe especificar las esquinas superior izquierda e inferior derecha de la imagen para determinar sus dimensiones, calculadas restando los valores de columna y fila. Por ejemplo, puedes probar los siguientes enfoques:

  • Para una imagen de tamaño 1x1:
  • hojaDeCálculo.InsertarImagen("imagen.gif", 5, 1, 6, 2);
  • Para un tamaño de imagen de 2x2:
  • hojaDeCálculo.InsertarImagen("imagen.gif", 5, 1, 7, 3);

    Atención
    Los ID de imagen generados siguen un patrón de 1, 3, 5, 7, etc.

: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")
VB   C#

Hoja de cálculo de resultados

Insertar imagen

Ejemplo de extracción de imágenes

Para extraer imágenes de la hoja de cálculo seleccionada, basta con acceder a la función Imágenes que proporciona una lista de todas las imágenes contenidas en la hoja. A partir de esta lista, puede realizar diversas operaciones, como exportar, redimensionar, recuperar posiciones y obtener los datos en bytes de cada imagen. En particular, los ID de imagen siguen un patrón impar, incrementándose en la secuencia de 1, 3, 5, 7, etc.

: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")
VB   C#
Imágenes extraídas
Tamaño de la imagen

Eliminar imagen Ejemplo

Tras la ejemplo de extracción de imágenespuede eliminar fácilmente cualquier imagen insertada utilizando su número de índice correspondiente. Basta con pasar el número de identificación de la imagen a la función QuitarImagen para eliminarlo de la hoja de cálculo.

: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")
VB   C#
Chaknith related to Eliminar imagen Ejemplo

Chaknith Bin

Ingeniero de software

Chaknith es el Sherlock Holmes de los desarrolladores. La primera vez que se le ocurrió que podría tener futuro en la ingeniería de software fue cuando hacía retos de código por diversión. Su trabajo se centra en IronXL e IronBarcode, pero se enorgullece de ayudar a los clientes con todos los productos. Chaknith aprovecha sus conocimientos, adquiridos hablando directamente con los clientes, para ayudar a mejorar los propios productos. Sus comentarios anecdóticos van más allá de los tickets de Jira y apoyan el desarrollo de productos, la documentación y el marketing, para mejorar la experiencia general del cliente.Cuando no está en la oficina, se le puede encontrar aprendiendo sobre aprendizaje automático, codificación y senderismo.