Comment ajouter, extraire et supprimer des images des feuilles de calcul ?

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

par Chaknith Bin

Introduction

En ajoutant des images, les utilisateurs peuvent enrichir leurs données avec des graphiques ou des illustrations pertinents. La suppression ou l'effacement d'images simplifie l'édition et l'organisation du contenu. En outre, la possibilité de récupérer des images permet de les réutiliser dans d'autres documents ou applications, ainsi que de mettre à jour des images existantes. Collectivement, ces fonctionnalités permettent à l'utilisateur de mieux contrôler les images, d'améliorer l'expérience globale de l'utilisateur et de manipuler les images de manière transparente dans les classeurs Excel.


Commencez avec IronXL

Commencez à utiliser IronXL dans votre projet dès aujourd'hui avec un essai gratuit.

Première étape :
green arrow pointer


Exemple d'ajout d'images

Pour insérer une image dans une feuille de calcul, utilisez la fonction Insérer une image qui prend en charge différents types d'images, tels que JPG/JPEG, BMP, PNG, GIF et TIFF. Vous devez spécifier les coins supérieur gauche et inférieur droit de l'image pour déterminer ses dimensions, calculées en soustrayant les valeurs de la colonne et de la ligne. Par exemple, vous pouvez essayer les approches suivantes :

  • Pour une image de taille 1x1 :
  • worksheet.InsertImage("image.gif", 5, 1, 6, 2);
  • Pour une image de taille 2x2 :
  • worksheet.InsertImage("image.gif", 5, 1, 7, 3);

    A noter
    Les ID d'image générés suivent un modèle de 1, 3, 5, 7, et ainsi de suite.

: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#

Feuille de calcul de sortie

Insérer une image

Exemple d'extraction d'images

Pour extraire des images de la feuille de calcul sélectionnée, il suffit d'accéder à la fonction Images qui fournit une liste de toutes les images contenues dans la feuille. À partir de cette liste, vous pouvez effectuer diverses opérations telles que l'exportation, le redimensionnement, la récupération des positions et l'obtention des données en octets de chaque image. Notamment, les numéros d'identification des images sont des numéros impairs, qui s'incrémentent dans l'ordre suivant : 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#
Images extraites
Taille de l'image

Exemple de suppression d'image

Suite à la exemple d'extraction d'imagesvous pouvez facilement supprimer une image insérée en utilisant le numéro d'index correspondant. Il suffit de transmettre le numéro d'identification de l'image à la fonction Supprimer l'image pour le supprimer de la feuille de calcul.

: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 Exemple de suppression d'image

Chaknith Bin

Ingénieur logiciel

Chaknith est le Sherlock Holmes des développeurs. C'est en s'amusant à relever des défis de code qu'il s'est rendu compte pour la première fois qu'il pourrait avoir un avenir dans le domaine de l'ingénierie logicielle. Il se concentre sur IronXL et IronBarcode, mais il est fier d'aider les clients avec chaque produit. Chaknith tire parti des connaissances qu'il a acquises en discutant directement avec les clients pour améliorer les produits eux-mêmes. Ses commentaires anecdotiques vont au-delà des tickets Jira et soutiennent le développement de produits, la documentation et le marketing, afin d'améliorer l'expérience globale des clients.Quand il n'est pas au bureau, on peut le trouver en train d'apprendre sur l'apprentissage automatique, le codage et la randonnée.