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 razem
Użyj intuicyjnego API IronXL, aby dodawać, pobierać i usuwać obrazy z arkuszy w zaledwie kilku liniach. Ten przykład pokazuje, jak wstawić obraz, uzyskać do niego dostęp za pomocą kolekcji Images i usunąć go — wszystko bez dotykania Interop.
-
Install IronXL with NuGet Package Manager
PM > Install-Package IronXl.Excel -
Skopiuj i uruchom ten fragment kodu.
workSheet.InsertImage("logo.png", 1, 1, 3, 3); workSheet.RemoveImage(1); var firstImage = workSheet.Images[0]; -
Wdroż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?
To insert an image into a spreadsheet, use the InsertImage method, which supports various image types including JPG/JPEG, BMP, PNG, GIF, and 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.
: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")
Metoda InsertImage zapewnia elastyczność w pozycjonowaniu i rozmiarach obrazów w arkuszu kalkulacyjnym. 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?
To extract images from the selected worksheet, access the Images property, which provides a list of all images contained within the sheet. 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.
: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")
Wyodrębnione obrazy
Rozmiar obrazu
Jak usunąć obrazy z arkuszy kalkulacyjnych Excel?
Following the extract images example, you can easily remove any inserted image using its corresponding index number. Przekaż numer ID obrazu do metody RemoveImage, aby usunąć go z arkusza kalkulacyjnego. 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.
: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")
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.

