Jak dodawać, wyodrębniać i usuwać obrazy w Excelu za pomocą C#
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 razemUż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.
-
1Install IronXL with NuGet Package Manager
-
2Skopiuj i uruchom ten fragment kodu.
workSheet.InsertImage("logo.png", 1, 1, 3, 3); workSheet.RemoveImage(1); var firstImage = workSheet.Images[0];C# -
3Wdrożenie do testowania w środowisku produkcyjnym
Rozpocznij używanie IronXL w swoim projekcie już dziś z darmową wersją próbną
Minimalny proces (5 kroków)
- Pobierz bibliotekę C# do wprowadzania, wyodrębniania i usuwania obrazów z arkuszy kalkulacyjnych
- Zaimportuj istniejący plik Excel lub utwórz nowy
- Użyj metody
InsertImage, aby wstawić obraz do arkusza kalkulacyjnego - Uzyskaj dostęp do właściwości Images, aby wyodrębniać obrazy i ich informacje
- Podaj ID do metody
RemoveImage, aby usunąć obraz
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.
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");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")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?

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");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")
Wyodrębnione obrazy

Rozmiar obrazu
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");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")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 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.