IRONSOFTWAREHOME

Jak dodawać, wyodrębniać i usuwać obrazy w Excelu za pomocą C#

Curtis Chau
Curtis Chau
Updated: 22 kwietnia 2026

IronXL umożliwia programistom C# programowe wstawianie obrazów do arkuszy kalkulacyjnych Excel, wyodrębnianie istniejących obrazów wraz z ich właściwościami oraz usuwanie niechcianych obrazów przy użyciu prostych metod API bez zależności od Interop Excel. Ta funkcjonalność jest niezbędna podczas tworzenia plików Excel w .NET, które wymagają elementów wizualnych, takich jak loga firmowe, obrazy produktów lub grafiki do wizualizacji danych.

Dodawanie obrazów wzbogaca dane o istotne grafiki lub ilustracje. Usuwanie obrazów upraszcza edycję i organizację treści. Wyodrębnianie obrazów pozwala na ich wykorzystanie w innych dokumentach lub aplikacjach i aktualizowanie istniejących obrazów. Te funkcje zapewniają pełną kontrolę nad manipulacją obrazami w skoroszytach Excel.

Szybki start: Wstaw, wyodrębnij i usuń obrazy za jednym razem

Użyj intuicyjnego API IronXL, aby dodawać, pobierać i usuwać obrazy z arkuszy w zaledwie kilku liniach. Ten przykład pokazuje, jak wstawić obrazek, uzyskać do niego dostęp poprzez kolekcję Images i usunąć go — wszystko bez używania Interop.

  1. 1Install IronXL with NuGet Package Manager

    PM > Install-Package IronXL.Excel

  2. 2Skopiuj i uruchom ten fragment kodu.

    workSheet.InsertImage("logo.png", 1, 1, 3, 3);
    workSheet.RemoveImage(1);
    var firstImage = workSheet.Images[0];
    C#
  3. 3Wdrożenie do testowania w środowisku produkcyjnym

    Rozpocznij używanie IronXL w swoim projekcie już dziś z darmową wersją próbną
    arrow pointer

Jak dodać obrazy do arkuszy kalkulacyjnych Excel?

Aby wstawić obrazek do arkusza kalkulacyjnego, użyj metody InsertImage, która obsługuje różne typy obrazków, w tym JPG/JPEG, BMP, PNG, GIF i TIFF. Ta funkcja jest szczególnie przydatna, gdy trzeba tworzyć wykresy Excel w C# i uzupełniać je dodatkowymi elementami wizualnymi. Określ górny lewy i dolny prawy róg obrazu, aby określić jego wymiary, obliczane przez odjęcie wartości kolumny i wiersza.

Sygnatura metody wymaga pięciu parametrów: ścieżki do pliku obrazka oraz czterech liczb całkowitych reprezentujących kolumnę początkową, wiersz początkowy, kolumnę końcową i wiersz końcowy. Obraz zostanie rozciągnięty lub skompresowany, aby zmieścić się w zdefiniowanym zakresie komórek. Na przykład:

  • Dla obrazu o rozmiarze 1x1:
    • worksheet.InsertImage("image.gif", 5, 1, 6, 2);
  • Dla obrazu o rozmiarze 2x2:
    • worksheet.InsertImage("image.gif", 5, 1, 7, 3);

Podczas pracy z obrazami w Excelu zrozum, jak IronXL zarządza nimi wewnętrznie. Każdy wstawiony obraz otrzymuje unikalny ID, który podąża za specyficznym wzorcem.

Zwróć uwagę: Generowane ID obrazów podążają za wzorcem 1, 3, 5, 7 itd.

Ta sekwencja nieparzystych liczb jest istotna, gdy odnosisz się do konkretnego obrazu w celu operacji ekstrakcji lub usuwania.

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

Metoda InsertImage zapewnia elastyczność w pozycjonowaniu i skalowaniu obrazów w obrębie arkusza. W przeciwieństwie do ręcznego wstawiania obrazów w Excelu, wstawianie programowe zapewnia spójne umieszczenie w wielu plikach, co czyni je idealnym do generowania raportów lub dokumentów wymagających standardowego formatowania. To podejście jest szczególnie korzystne podczas pracy z Excel w C# bez Interop, ponieważ eliminuje zależności od instalacji Microsoft Office.

Jak wygląda wstawiony obraz w Excelu?

Arkusz z dwoma kolorowymi logo umieszczonymi w komórkach C4 i C7, pokazujący pomyślnie wstawiony obraz

Jak mogę wyodrębnić obrazy z plików Excel?

Aby wyodrębnić obrazy z wybranego arkusza, uzyskaj dostęp do właściwości Images, która dostarcza listę wszystkich obrazów zawartych w arkuszu. Ta funkcja jest niezbędna, gdy trzeba wczytać pliki Excel bez Interop i przetworzyć ich osadzone treści wizualne. Z tej listy możesz wykonać różne operacje, takie jak eksportowanie, zmiana rozmiaru, pobieranie pozycji i uzyskiwanie danych bajtowych każdego obrazu. ID obrazów podążają za wzorcem nieparzystych liczb, zwiększając się w sekwencji 1, 3, 5, 7 itd.

Proces wyodrębniania zapewnia kompleksowy dostęp do właściwości i danych obrazów, umożliwiając programistom:

  • Eksportowanie obrazów do różnych formatów (PNG, JPEG, BMP itp.)
  • Pobieranie informacji o pozycjonowaniu obrazów w celu zachowania układu
  • Dostęp do surowych danych bajtowych w celu przetwarzania lub przechowywania
  • Zmiana rozmiaru obrazów programowo bez zewnętrznych bibliotek przetwarzania obrazu

Ta funkcjonalność jest nieoceniona podczas migracji treści pomiędzy różnymi formatami dokumentów lub podczas budowy systemów, które muszą katalogować i zarządzać zasobami wizualnymi z plików Excel. Możliwość programowego wyodrębniania obrazów wspiera również zautomatyzowane procesy kontroli jakości, w których obrazy potrzebują walidacji lub przetwarzania zgodnie z określonymi zasadami biznesowymi.

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");
Eksplorator plików pokazujący wyodrębnione obrazy PNG i pliki w katalogu Documents/Replicate/bin/Debug/net6.0
Arkusz kalkulacyjny przedstawiający trzy wyodrębnione obrazy umieszczone w komórkach C2-E2, C5-E6 i C8-E10 z siatką współrzędnych

Jak usunąć obrazy z arkuszy kalkulacyjnych Excel?

Po przykładzie wyodrębnij obrazy, możesz łatwo usunąć dowolny wstawiony obraz, używając jego odpowiadającego numeru indeksu. Przekaż numer ID obrazka do metody RemoveImage, aby usunąć go z arkusza. Ta operacja jest szczególnie użyteczna, gdy trzeba edytować pliki Excel w C#, aby uporządkować niechciane elementy wizualne lub przygotować dokumenty dla różnych odbiorców.

Proces usuwania jest prosty, ale wymaga zrozumienia systemu ID obrazu. Ponieważ IronXL przydziela ID w sekwencji nieparzystych liczb (1, 3, 5, 7...), śledź te ID podczas zarządzania wieloma obrazami. Rozważ wdrożenie systemu mapowania w swojej aplikacji, aby kojarzyć znaczące nazwy z ID obrazów w celu łatwiejszego zarządzania.

using IronXL;

WorkBook workBook = WorkBook.Load("insertImages.xlsx");
WorkSheet workSheet = workBook.DefaultWorkSheet;

// Remove image
workSheet.RemoveImage(3);

workBook.SaveAs("removeImage.xlsx");

Dla bardziej złożonych scenariuszy obejmujących wiele arkuszy i obrazów, zapoznaj się z zarządzaniem arkuszami, aby zrozumieć, jak operacje obrazami współdziałają z operacjami na poziomie arkusza. Dodatkowo, podczas pracy z chronionymi plikami Excel, zapoznaj się z naszym przewodnikiem na temat ochrony plików Excel, aby zrozumieć, jak operacje obrazami współdziałają z skoroszytami chronionymi hasłem.

Często Zadawane Pytania

Jak programowo dodawać obrazy do arkuszy Excel w C#?

IronXL dostarcza metodę InsertImage do dodawania obrazów do arkuszy Excel. Wystarczy określić ścieżkę do pliku obrazu oraz współrzędne zasięgu komórki (lewy górny i prawy dolny róg), gdzie obraz ma się pojawić. IronXL obsługuje różne formaty obrazów, w tym JPG/JPEG, BMP, PNG, GIF i TIFF.

Jakie formaty obrazów są obsługiwane przy wstawianiu do Excel?

IronXL obsługuje wiele formatów obrazów do wstawiania w arkuszach Excel, w tym JPG/JPEG, BMP, PNG, GIF i TIFF. Ta elastyczność pozwala pracować z różnymi rodzajami obrazów często używanymi w dokumentach biznesowych i wizualizacji danych.

Jak wyodrębnić istniejące obrazy z arkusza Excel?

Możesz wyodrębniać obrazy z arkuszy Excel używając właściwości kolekcji Images IronXL. Dostęp do worksheet.Images[index] pozwala na uzyskanie konkretnych obrazów wraz z ich właściwościami i metadanymi, umożliwiając ponowne ich użycie w innych dokumentach lub aplikacjach.

Czy mogę programowo usuwać obrazy z plików Excel?

Tak, IronXL dostarcza metodę RemoveImage do usuwania obrazów z arkuszy. Wystarczy podać ID obrazu, aby usunąć konkretne obrazy, co daje pełną kontrolę nad zarządzaniem obrazami bez konieczności korzystania z Excel Interop.

Jak określić rozmiar i pozycję wstawianego obrazu?

Podczas korzystania z metody InsertImage w IronXL, określasz cztery współrzędne: kolumnę początkową, wiersz początkowy, kolumnę końcową i wiersz końcowy. Obraz zostanie automatycznie rozciągnięty lub skompresowany, aby zmieścić się w określonym zakresie komórek. Na przykład, InsertImage("image.gif", 5, 1, 6, 2) tworzy obraz o rozmiarze 1x1.

Czy muszę mieć zainstalowany Microsoft Excel, aby manipulować obrazami w arkuszach?

Nie, IronXL działa niezależnie, bez konieczności posiadania Microsoft Excel lub zależności Interop Excel. Można dodawać, wyodrębniać i usuwać obrazy z plików Excel programowo używając jedynie biblioteki IronXL w aplikacji .NET.

Does IronXL require Excel Interop to manage images in Excel files?

No, IronXL does not require Excel Interop. It fully supports adding, extracting, and removing images from Excel files programmatically, eliminating the need for Microsoft Office dependencies.

How can I retain the position of images when extracting them from Excel files with IronXL?

When extracting images with IronXL, you can retrieve their position data, including row and column indices, to preserve layout and positioning information.

Why would I use IronXL for image manipulation in Excel workbooks?

IronXL simplifies image manipulation in Excel, allowing for consistent placement, extraction, and removal of images programmatically without reliance on manual processes or Excel Interop.

Can IronXL handle images in password-protected Excel files?

Yes, IronXL can work with password-protected Excel files. You may need to manage worksheet-level operations to ensure compatibility with image manipulation.

Curtis Chau
Autor tekstów technicznych

Curtis Chau posiada tytuł licencjata z informatyki (Uniwersytet Carleton) i specjalizuje się w front-endowym rozwoju, z ekspertką w Node.js, TypeScript, JavaScript i React. Pasjonuje się tworzeniem intuicyjnych i estetycznie przyjemnych interfejsów użytkownika, Curtis cieszy się pracą z nowoczesnymi frameworkami i tworzeniem dobrze zorganizowanych, atrakcyjnych wizualnie podręczników.

...
Czytaj więcej

Gotowy, aby rozpocząć?

Nuget Downloads 2,237,574Wersja:2026.9właśnie wydany

Odbierz swój BEZPŁATNY

30-dniowy klucz próbny natychmiast.

bullet_checkedNie wymaga karty kredytowej ani tworzenia konta
test_punktorówTestuj w produkcji
bez znaków wodnych
kalendarz_punktorów30 dni w pełni
funkcjonalny produkt
wsparcie_punktorów24/5 wsparcie techniczne
w trakcie okresu próbnego
Otrzymaj swój darmowy Klucz Próbny na 30 dni natychmiast.
Nie wymaga karty kredytowej ani tworzenia konta
Biblioteka C# NuGet dla plików PDF
Zainstaluj za pomocą NuGet

Wersja: 2026.9

PM > Install-Package IronXL.Excel
nuget.org/packages/IronXL.Excel/
  1. W Eksploratorze Rozwiązań, kliknij prawym przyciskiem Myszy na Odwołania, Zarządzaj pakietami NuGet
  2. Wybierz Przeglądaj i wyszukaj "IronXL"
  3. Wybierz pakiet i zainstaluj
DLL PDF dla C#
Pobierz DLL

Wersja: 2026.9

  1. Pobierz i rozpakuj IronXL do lokalizacji, takie jak ~/Libs w katalogu rozwiązania
  2. W Eksploratorze Rozwiązań Visual Studio kliknij prawym przyciskiem Myszy na Odwołania, wybierz Przeglądaj, "IronXL.dll"

Licencje od $999

Key in blue circle

Uzyskaj natychmiast swój darmowy 30-dniowy Klucz Testowy.

Your trial license will be sent to your email address

Brak ograniczeń. 100% dostępności. Bez karty kredytowej.

bullet_checkedNie wymaga karty kredytowej ani tworzenia kontaBrak ograniczeń. 100% dostępności. Bez karty kredytowej.
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
Zarezerwuj swoje darmowe Demo na żywo
Booking Badge

Zaufane przez miliony inżynierów na całym świecie

Logotypy klientów Iron Software
Otrzymaj swoje Konsultacja Bez Zobowiązań
Wypełnij poniższy formularz lub wyślij e-mail na sales@ironsoftware.com
Twoje dane zawsze będą utrzymywane w tajemnicy.
Zaufane przez miliony inżynierów na całym świecie
Logotypy klientów Iron Software
Otrzymaj swój darmowy Klucz Próbny na 30 dni natychmiast.
Nie wymaga karty kredytowej ani tworzenia konta