Comment ajouter, extraire et supprimer des images des feuilles de calcul | IronXL

Comment ajouter, extraire et supprimer des images dans Excel à l'aide de C#35;

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

IronXL permet aux développeurs C# d'insérer par programmation des images dans les feuilles de calcul Excel, d'extraire les images existantes avec leurs propriétés et de supprimer les images indésirables à l'aide de méthodes API simples sans dépendances Excel Interop. Cette fonctionnalité est essentielle lors de la création de fichiers Excel en .NET qui nécessitent des éléments visuels tels que des logos d'entreprise, des images de produits ou des graphiques de visualisation de données.

L'ajout d'images permet d'enrichir les données avec des graphiques ou des illustrations pertinents. La suppression des images simplifie l'édition et l'organisation du contenu. L'extraction des images permet de les réutiliser dans d'autres documents ou applications et de mettre à jour les images existantes. Ces fonctionnalités permettent un contrôle complet de la manipulation des images dans les classeurs Excel.

Démarrage rapide : Insérer, extraire et supprimer des images en une seule opération

Utilisez l'API intuitive d'IronXL pour ajouter, obtenir et supprimer des images de feuilles de calcul en quelques lignes seulement. Cet exemple montre comment insérer une image, y accéder via la collection Images et la supprimer, le tout sans toucher à Interop.

Nuget IconCommencez dès maintenant à créer des PDF avec NuGet :

  1. Installez IronXL avec le gestionnaire de packages NuGet

    PM > Install-Package IronXL.Excel

  2. Copiez et exécutez cet extrait de code.

    workSheet.InsertImage("logo.png", 1, 1, 3, 3);
    workSheet.RemoveImage(1);
    var firstImage = workSheet.Images[0];
  3. Déployez pour tester sur votre environnement de production.

    Commencez à utiliser IronXL dans votre projet dès aujourd'hui grâce à un essai gratuit.
    arrow pointer


Comment ajouter des images aux feuilles de calcul 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. Cette capacité est particulièrement utile lorsque vous devez créer des graphiques Excel en C# et les compléter par des éléments visuels supplémentaires. Indiquez 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.

La signature de la méthode nécessite cinq paramètres : le chemin d'accès au fichier image et quatre entiers représentant la colonne de départ, la ligne de départ, la colonne d'arrivée et la ligne d'arrivée. L'image sera étirée ou comprimée pour s'adapter à la plage de cellules définie. Par exemple :

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

Lorsque vous travaillez avec des images dans IronXL, comprenez comment IronXL.Excel les gère en interne. Chaque image insérée reçoit un identifiant unique qui suit un modèle spécifique.

Veuillez noterLes identifiants d'image générés suivent un modèle de 1, 3, 5, 7, et ainsi de suite.
Cette séquence de nombres impairs est cruciale lorsqu'il s'agit de faire référence à des images spécifiques pour des opérations d'extraction ou de suppression ultérieures.

: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")
$vbLabelText   $csharpLabel

La méthode InsertImage permet de positionner et de dimensionner les images avec souplesse dans votre feuille de calcul. Contrairement à l'insertion manuelle d'images dans Excel, l'insertion programmatique garantit un placement cohérent dans plusieurs fichiers, ce qui la rend idéale pour générer des rapports ou des documents nécessitant une mise en forme standardisée. Cette approche est particulièrement bénéfique pour travailler avec Excel en C# sans Interop, car elle élimine les dépendances aux installations de Microsoft Office.

À quoi ressemble l'image insérée dans Excel?

Feuille de calcul avec deux logos colorés insérés dans les cellules C4 et C7, montrant une insertion d'image réussie

Comment extraire des images de fichiers Excel?

To extract images from the selected worksheet, access the Images property, which provides a list of all images contained within the sheet. Cette fonctionnalité est essentielle lorsque vous devez charger des fichiers Excel sans Interop et traiter leur contenu visuel intégré. À 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 binaires de chaque image. Les numéros d'identification des images sont des numéros impairs, qui s'incrémentent dans l'ordre suivant : 1, 3, 5, 7, et ainsi de suite.

Le processus d'extraction offre un accès complet aux propriétés et aux données des images, ce qui permet aux développeurs de.. :

  • Exportation d'images vers différents formats (PNG, JPEG, BMP, etc.)
  • Récupérer les informations de positionnement des images pour préserver la mise en page
  • Accéder à des données brutes d'octets pour un traitement ou un stockage personnalisé
  • Redimensionnement programmatique des images sans bibliothèques de traitement d'images externes

Cette fonctionnalité s'avère inestimable lors de la migration de contenu entre différents formats de documents ou lors de la création de systèmes qui doivent cataloguer et gérer des actifs visuels à partir de fichiers Excel. La possibilité d'extraire des images de manière programmatique permet également d'automatiser les processus de contrôle de la qualité lorsque les images doivent être validées ou traitées conformément à des règles commerciales spécifiques.

: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")
$vbLabelText   $csharpLabel
File explorer showing extracted PNG images and files in Documents/Replicate/bin/Debug/net6.0 directory
Spreadsheet showing three extracted images positioned in cells C2-E2, C5-E6, and C8-E10 with coordinate grid

Comment supprimer les images des feuilles de calcul Excel?

Following the extract images example, you can easily remove any inserted image using its corresponding index number. Transmettez le numéro d'identification de l'image à la méthode RemoveImage pour la supprimer de la feuille de calcul. Cette opération est particulièrement utile lorsque vous devez éditer des fichiers Excel en C# pour nettoyer les éléments visuels indésirables ou préparer des documents pour différents publics.

Le processus de suppression est simple mais nécessite de comprendre le système d'identification des images. Étant donné qu'IronXL attribue des identifiants dans une séquence de nombres impairs (1, 3, 5, 7...), suivez ces identifiants lorsque vous gérez plusieurs images. Envisagez de mettre en œuvre un système de mappage dans votre application afin d'associer des noms significatifs à des identifiants d'images pour faciliter la gestion.

: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")
$vbLabelText   $csharpLabel

Pour des scénarios plus complexes impliquant plusieurs feuilles de calcul et images, explorez la gestion des feuilles de calcul pour comprendre comment les opérations sur les images interagissent avec les opérations au niveau de la feuille de calcul. En outre, lorsque vous travaillez avec des fichiers Excel protégés, consultez notre guide sur la protection des fichiers Excel pour comprendre comment les opérations sur les images fonctionnent avec les classeurs protégés par un mot de passe.

Questions Fréquemment Posées

Comment ajouter des images à des feuilles de calcul Excel par programmation en C# ?

IronXL propose la méthode InsertImage pour ajouter des images aux feuilles de calcul Excel. Il suffit de spécifier le chemin d'accès au fichier image et les coordonnées de la plage de cellules (coins supérieur gauche et inférieur droit) où vous souhaitez que l'image apparaisse. IronXL prend en charge divers formats d'image, notamment JPG/JPEG, BMP, PNG, GIF et TIFF.

Quels sont les formats d'image pris en charge lors de l'insertion d'images dans Excel ?

IronXL prend en charge plusieurs formats d'image pour l'insertion dans les feuilles de calcul Excel, notamment JPG/JPEG, BMP, PNG, GIF et TIFF. Cette flexibilité vous permet de travailler avec différents types d'images couramment utilisés dans les documents commerciaux et la visualisation de données.

Comment extraire des images existantes d'une feuille de calcul Excel ?

Vous pouvez extraire des images de feuilles de calcul Excel à l'aide de la propriété de collection Images d'IronXL.Excel. Accédez à worksheet.Images[index] pour récupérer des images spécifiques avec leurs propriétés et métadonnées, ce qui vous permet de les réutiliser dans d'autres documents ou applications.

Puis-je supprimer des images de fichiers Excel par programme ?

Oui, IronXL fournit la méthode RemoveImage pour supprimer les images des feuilles de calcul. Il suffit de fournir l'ID de l'image pour supprimer des images spécifiques, ce qui vous donne un contrôle complet sur la gestion des images sans nécessiter d'interopérabilité avec Excel.

Comment puis-je spécifier la taille et la position d'une image insérée ?

Lorsque vous utilisez la méthode InsertImage d'IronXL, vous spécifiez quatre coordonnées : la colonne de départ, la ligne de départ, la colonne de fin et la ligne de fin. L'image s'étire ou se comprime automatiquement pour s'adapter à la plage de cellules définie. Par exemple, InsertImage("image.gif", 5, 1, 6, 2) crée une image de taille 1x1.

Dois-je installer Microsoft Excel pour manipuler des images dans des feuilles de calcul ?

Non, IronXL fonctionne de manière indépendante sans nécessiter de dépendances Microsoft Excel ou Excel Interop. Vous pouvez ajouter, extraire et supprimer des images de fichiers Excel de manière programmatique en utilisant simplement la bibliothèque IronXL dans votre application .NET.

Chaknith Bin
Ingénieur logiciel
Chaknith travaille sur IronXL et IronBarcode. Il a une expertise approfondie en C# et .NET, aidant à améliorer le logiciel et à soutenir les clients. Ses idées issues des interactions avec les utilisateurs contribuent à de meilleurs produits, documentation et expérience globale.
Prêt à commencer?
Nuget Téléchargements 1,765,830 | Version : 2025.12 vient de sortir