Wie man Bilder aus Arbeitsblättern hinzufügt, extrahiert und entfernt | IronXL

Hinweis zum Hinzufügen, Extrahieren und Entfernen von Bildern in Excel mit C#35;

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

IronXL ermöglicht C#-Entwicklern das programmgesteuerte Einfügen von Bildern in Excel-Arbeitsblätter, das Extrahieren vorhandener Bilder mit ihren Eigenschaften und das Entfernen unerwünschter Bilder mithilfe einfacher API-Methoden ohne Excel-Interop-Abhängigkeiten. Diese Funktionalität ist unerlässlich für die Erstellung von Excel-Dateien in .NET, die visuelle Elemente wie Firmenlogos, Produktbilder oder Grafiken zur Datenvisualisierung erfordern.

Das Hinzufügen von Bildern bereichert die Daten mit relevanten Grafiken oder Illustrationen. Das Entfernen von Bildern vereinfacht die Bearbeitung und Organisation des Inhalts. Durch das Extrahieren von Bildern können diese in anderen Dokumenten oder Anwendungen wiederverwendet und vorhandene Bilder aktualisiert werden. Diese Funktionen bieten vollständige Kontrolle über die Bildbearbeitung in Excel-Arbeitsmappen.

als Überschrift:2(Schnellstart: Bilder hinzufügen, extrahieren & entfernen in einem Rutsch)

Mit der intuitiven API von IronXL können Sie in nur wenigen Zeilen Bilder zu Arbeitsblättern hinzufügen, abrufen und löschen. Dieses Beispiel zeigt, wie man ein Bild einfügt, über die Images-Sammlung darauf zugreift und es wieder entfernt - und das alles, ohne Interop zu berühren.

Nuget IconLegen Sie jetzt mit NuGet los, um PDFs zu erstellen:

  1. Installieren Sie IronXL mit dem NuGet-Paketmanager.

    PM > Install-Package IronXL.Excel

  2. Kopieren Sie diesen Codeausschnitt und führen Sie ihn aus.

    workSheet.InsertImage("logo.png", 1, 1, 3, 3);
    workSheet.RemoveImage(1);
    var firstImage = workSheet.Images[0];
  3. Bereitstellen zum Testen in Ihrer Live-Umgebung

    Beginnen Sie noch heute mit der Nutzung von IronXL in Ihrem Projekt – mit einer kostenlosen Testversion.
    arrow pointer


Wie kann ich Bilder zu Excel-Arbeitsblättern hinzufügen?

To insert an image into a spreadsheet, use the InsertImage method, which supports various image types including JPG/JPEG, BMP, PNG, GIF, and TIFF. Diese Fähigkeit ist besonders nützlich, wenn Sie Excel-Diagramme in C# erstellen und diese mit zusätzlichen visuellen Elementen ergänzen müssen. Geben Sie die linke obere und die rechte untere Ecke des Bildes an, um seine Abmessungen zu bestimmen, die durch Subtraktion der Spalten- und Zeilenwerte berechnet werden.

Die Methodensignatur erfordert fünf Parameter: den Pfad der Bilddatei und vier Ganzzahlen, die die Startspalte, die Startzeile, die Endspalte und die Endzeile darstellen. Das Bild wird gestreckt oder komprimiert, um in den definierten Zellbereich zu passen. Zum Beispiel:

  • Für eine Bildgröße von 1x1:
    • Arbeitsblatt.InsertImage("image.gif", 5, 1, 6, 2);
  • Für eine Bildgröße von 2x2:
    • Arbeitsblatt.InsertImage("image.gif", 5, 1, 7, 3);

Wenn Sie mit Bildern in Excel arbeiten, müssen Sie verstehen, wie IronXL diese intern verwaltet. Jedes eingefügte Bild erhält eine eindeutige ID, die einem bestimmten Muster folgt.

Hinweis:Die generierten Bild-IDs folgen einem Muster von 1, 3, 5, 7 usw.
Diese ungerade Zahlenfolge ist entscheidend, wenn auf bestimmte Bilder für spätere Extraktions- oder Entfernungsoperationen verwiesen wird.

: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

Die Methode InsertImage bietet Flexibilität bei der Positionierung und Größe von Bildern in Ihrem Arbeitsblatt. Im Gegensatz zum manuellen Einfügen von Bildern in Excel gewährleistet das programmatische Einfügen eine konsistente Platzierung über mehrere Dateien hinweg und ist daher ideal für die Erstellung von Berichten oder Dokumenten, die eine standardisierte Formatierung erfordern. Dieser Ansatz ist besonders vorteilhaft bei der Arbeit mit Excel in C# ohne Interop, da er Abhängigkeiten von Microsoft Office-Installationen eliminiert.

Wie sieht das eingefügte Bild in Excel aus?

Kalkulationstabelle mit zwei bunten Logos, die in die Zellen C4 und C7 eingefügt wurden, zeigt das erfolgreiche Einfügen des Bildes

Wie kann ich Bilder aus Excel-Dateien extrahieren?

To extract images from the selected worksheet, access the Images property, which provides a list of all images contained within the sheet. Diese Funktion ist unerlässlich, wenn Sie Excel-Dateien ohne Interop laden und deren eingebetteten visuellen Inhalt verarbeiten müssen. Aus dieser Liste können Sie verschiedene Operationen wie Exportieren, Größenänderung, Abrufen von Positionen und Abrufen der Byte-Daten jedes Bildes ausführen. Die Bild-IDs folgen einem ungeraden Zahlenmuster, das in der Reihenfolge 1, 3, 5, 7 usw. aufsteigt.

Der Extraktionsprozess bietet einen umfassenden Zugang zu Bildeigenschaften und -daten, der es Entwicklern ermöglicht,:

  • Exportieren von Bildern in verschiedene Formate (PNG, JPEG, BMP, etc.)
  • Abrufen von Informationen zur Bildpositionierung für die Erhaltung des Layouts
  • Zugriff auf Byte-Rohdaten zur benutzerdefinierten Verarbeitung oder Speicherung
  • Programmgesteuertes Ändern der Bildgröße ohne externe Bildverarbeitungsbibliotheken

Diese Funktionalität ist von unschätzbarem Wert bei der Migration von Inhalten zwischen verschiedenen Dokumentenformaten oder beim Aufbau von Systemen, die visuelle Assets aus Excel-Dateien katalogisieren und verwalten müssen. Die Möglichkeit, Bilder programmatisch zu extrahieren, unterstützt auch automatisierte Qualitätskontrollprozesse, bei denen Bilder validiert oder nach bestimmten Geschäftsregeln verarbeitet werden müssen.

: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

Wie kann ich Bilder aus Excel-Arbeitsblättern entfernen?

Following the extract images example, you can easily remove any inserted image using its corresponding index number. Übergeben Sie die ID-Nummer des Bildes an die Methode RemoveImage, um es aus dem Arbeitsblatt zu entfernen. Dieser Vorgang ist besonders nützlich, wenn Sie Excel-Dateien in C# bearbeiten müssen, um unerwünschte visuelle Elemente zu bereinigen oder Dokumente für verschiedene Zielgruppen vorzubereiten.

Der Entfernungsprozess ist einfach, erfordert aber ein Verständnis des Bild-ID-Systems. Da IronXL IDs in einer ungeraden Zahlenfolge (1, 3, 5, 7...) vergibt, sollten Sie diese IDs bei der Verwaltung mehrerer Bilder verfolgen. Erwägen Sie die Implementierung eines Mapping-Systems in Ihrer Anwendung, um aussagekräftige Namen mit Bild-IDs zu verknüpfen und so die Verwaltung zu erleichtern.

: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

Für komplexere Szenarien mit mehreren Arbeitsblättern und Bildern sollten Sie sich mit Verwaltung von Arbeitsblättern befassen, um zu verstehen, wie Bildoperationen mit Operationen auf Arbeitsblattebene interagieren. Wenn Sie mit geschützten Excel-Dateien arbeiten, lesen Sie bitte auch unseren Leitfaden zum Schutz von Excel-Dateien, um zu verstehen, wie Bildoperationen mit passwortgeschützten Arbeitsmappen funktionieren.

Häufig gestellte Fragen

Wie kann ich in C# programmgesteuert Bilder zu Excel-Tabellen hinzufügen?

IronXL bietet die InsertImage-Methode, um Bilder zu Excel-Arbeitsblättern hinzuzufügen. Geben Sie einfach den Pfad der Bilddatei und die Koordinaten des Zellbereichs (obere linke und untere rechte Ecke) an, in dem das Bild erscheinen soll. IronXL unterstützt verschiedene Bildformate wie JPG/JPEG, BMP, PNG, GIF und TIFF.

Welche Bildformate werden beim Einfügen von Bildern in Excel unterstützt?

IronXL unterstützt mehrere Bildformate zum Einfügen in Excel-Arbeitsblätter, darunter JPG/JPEG, BMP, PNG, GIF und TIFF. Diese Flexibilität ermöglicht es Ihnen, mit verschiedenen Bildtypen zu arbeiten, die häufig in Geschäftsdokumenten und bei der Datenvisualisierung verwendet werden.

Wie extrahiere ich vorhandene Bilder aus einem Excel-Arbeitsblatt?

Sie können Bilder aus Excel-Arbeitsblättern extrahieren, indem Sie die IronXL-Sammlungseigenschaft Images verwenden. Greifen Sie auf worksheet.Images[index] zu, um bestimmte Bilder zusammen mit ihren Eigenschaften und Metadaten abzurufen, so dass Sie sie in anderen Dokumenten oder Anwendungen wiederverwenden können.

Kann ich Bilder aus Excel-Dateien programmgesteuert entfernen?

Ja, IronXL bietet die RemoveImage-Methode zum Löschen von Bildern aus Arbeitsblättern. Geben Sie einfach die Bild-ID an, um bestimmte Bilder zu entfernen. So haben Sie die vollständige Kontrolle über die Bildverwaltung, ohne dass Excel Interop erforderlich ist.

Wie kann ich die Größe und Position eines eingefügten Bildes festlegen?

Bei der Verwendung der InsertImage-Methode von IronXL geben Sie vier Koordinaten an: Startspalte, Startzeile, Endspalte und Endzeile. Das Bild wird automatisch gestreckt oder gestaucht, um in den definierten Zellbereich zu passen. Beispiel: InsertImage("image.gif", 5, 1, 6, 2) erzeugt ein Bild der Größe 1x1.

Muss ich Microsoft Excel installiert haben, um Bilder in Tabellenkalkulationen bearbeiten zu können?

Nein, IronXL arbeitet unabhängig und benötigt keine Abhängigkeiten von Microsoft Excel oder Excel Interop. Sie können Bilder in Excel-Dateien programmatisch hinzufügen, extrahieren und entfernen, indem Sie nur die IronXL-Bibliothek in Ihrer .NET-Anwendung verwenden.

Chaknith Bin
Software Ingenieur
Chaknith arbeitet an IronXL und IronBarcode. Er hat umfassende Expertise in C# und .NET und hilft, die Software zu verbessern und Kunden zu unterstützen. Seine Einblicke aus Benutzerinteraktionen tragen zu besseren Produkten, Dokumentationen und einem insgesamt besseren Erlebnis bei.
Bereit anzufangen?
Nuget Downloads 1,765,830 | Version: 2025.12 gerade veröffentlicht