Cómo añadir, extraer y eliminar imágenes de las hojas de cálculo
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.
Cómo añadir, extraer y eliminar imágenes de las hojas de cálculo
- Descargar la biblioteca C# para insertar, extraer y eliminar imágenes de hojas de cálculo
- Importar un archivo Excel existente o crear uno nuevo
- Utiliza el
InsertarImagen
para insertar una imagen en la hoja de cálculo - Acceder a la Imágenes propiedad para extraer imágenes y su información
- Proporcione el ID al
QuitarImagen
para eliminar la imagen
Comienza con IronXL
Comience a usar IronXL en su proyecto hoy con una prueba gratuita.
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")
Hoja de cálculo de resultados
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")
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")