C# Kullanarak Excel'de Resim Ekleme, Çıkarma ve Silme
IronXL, C# geliştiricilerinin Excel çalışma sayfalarına programatik olarak resim eklemesine, mevcut resimleri özellikleriyle çıkarmasına ve gereksiz resimleri basit API yöntemleriyle Excel Interop bağımlılıkları olmadan kaldırmasına olanak tanır. Bu işlevsellik, şirket logoları, ürün resimleri veya veri görselleştirme grafik gibi görsel öğeler gerektiren .NET'te Excel dosyaları oluştururken esastır.
Resim eklemek, verileri ilgili grafikler veya illüstrasyonlarla zenginleştirir. Resimleri kaldırmak, içerik düzenlemeyi ve organizasyonu basitleştirir. Resimleri çıkarmak, onları diğer belgeler veya uygulamalarda yeniden kullanmayı ve mevcut resimleri güncellemeyi sağlar. Bu özellikler, Excel çalışma kitapları içindeki görüntü manipülasyonunda tam kontrol sağlar.
Hızlı Başlangıç: Tek Seferde Resim Ekle, Çıkar ve Sil
IronXL'ın sezgisel API'sini kullanarak çalışma sayfalarından resimleri sadece birkaç satırda ekleyin, alın ve silin. Bu örnek, bir resmi nasıl ekleyeceğinizi, Images koleksiyonu aracılığıyla ona nasıl erişeceğinizi ve Interop'a dokunmadan onu nasıl kaldıracağınızı gösterir.
-
NuGet Paket Yöneticisi ile https://www.nuget.org/packages/IronXl.Excel yükleyin
PM > Install-Package IronXl.Excel -
Bu kod parçasını kopyalayıp çalıştırın.
workSheet.InsertImage("logo.png", 1, 1, 3, 3); workSheet.RemoveImage(1); var firstImage = workSheet.Images[0]; -
Canlı ortamınızda test etmek için dağıtın
Bugün projenizde IronXL kullanmaya başlayın ücretsiz deneme ile
Minimal İş Akışı (5 adımda)
- Çizelgelerden resim eklemek, çıkarmak ve silmek için C# kütüphanesini indirin
- Mevcut bir Excel dosyası içe aktarın veya yeni bir tane oluşturun
InsertImageyöntemini kullanarak çalışma sayfasına bir resim ekleyin- Resimleri ve bilgilerini çıkarmak için Images özelliğine erişin
- Resmi kaldırmak için
RemoveImageyöntemine ID'yi sağlayın
Excel Çalışma Sayfalarına Nasıl Resim Ekleyebilirim?
Bir elektronik tabloya resim eklemek için JPG/JPEG, BMP, PNG, GIF ve TIFF dahil çeşitli resim türlerini destekleyen InsertImage yöntemini kullanın. Bu özellik, C# ile Excel grafiklerini programatik olarak oluşturmanız gerektiğinde ve bunları ek görsel öğelerle tamamlamanız gerektiğinde özellikle kullanışlıdır. Resmin boyutlarını belirlemek için resmin üst sol ve alt sağ köşelerini, sütun ve satır değerlerini çıkararak hesaplayın.
Yöntem imzası beş parametre gerektirir: resim dosya yolu ve başlangıç sütunu, başlangıç satırı, bitiş sütunu ve bitiş satırını temsil eden dört tamsayı. Resim, tanımlanan hücre aralığına sığacak şekilde uzatılacak veya sıkıştırılacaktır. Örneğin:
- 1x1 resim boyutu için:
worksheet.InsertImage("image.gif", 5, 1, 6, 2);
- 2x2 resim boyutu için:
worksheet.InsertImage("image.gif", 5, 1, 7, 3);
Excel'de görüntülerle çalışırken, IronXL'nin onları içsel olarak nasıl yönettiğini anlayın. Her eklenen resim, belirli bir deseni takip eden benzersiz bir ID alır.
: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")
InsertImage yöntemi, çalışma sayfanız içinde resimlerin konumlandırma ve boyutlandırılmasında esneklik sağlar. Excel'de manuel resim eklemenin aksine, programatik ekleme çoklu dosyalar arasında tutarlı yerleştirme sağlar ve bu da standart formatlama gerektiren raporlar veya belgeler üretmek için idealdir. Bu yaklaşım, Interop olmadan C#'da Excel ile çalışırken özellikle faydalıdır çünkü Microsoft Office kurulumlarına bağlılıkları ortadan kaldırır.
Eklenen Resim Excel'de Nasıl Görünüyor?
Excel Dosyalarından Resimleri Nasıl Çıkarırım?
Seçili çalışma sayfasından resimleri çıkarmak için sayfada bulunan tüm resimlerin listesini sağlayan Images özelliğine erişin. Bu özellik, Excel dosyalarını Interop olmadan yüklemeniz ve gömülü görsel içeriklerini işlemeniz gerektiğinde esastır. Bu listeden, resimlerin her birinin konumlarını elde etme, boyutlandırma, ihracat ve bayt verilerini elde etme gibi çeşitli işlemler gerçekleştirebilirsiniz. Resim ID'leri tek sayılı bir deseni takip eder, 1, 3, 5, 7 şeklinde artar.
Çıkarma süreci, görüntü özelliklerine ve verilerine kapsamlı erişim sağlar ve geliştiricilerin:
- Resimleri çeşitli formatlarda (PNG, JPEG, BMP vb.) dışa aktarmasına
- Düzenleme koruması için resim konumlandırma bilgilerini almasına
- Özelleştirilmiş işleme veya depolama için ham bayt verilerine erişmesine
- Harici görüntü işleme kütüphaneleri kullanılmadan resimleri programatik olarak yeniden boyutlandırmasına olanak tanır.
Bu işlevsellik, farklı belge formatları arasında içerik taşırken veya Excel dosyalarındaki görsel varlıkları kataloglamak ve yönetmek için sistemler oluştururken paha biçilmezdir. Resimleri programatik olarak çıkarmak ayrıca belirli iş kurallarına göre validasyon veya işlem gerektiren otomatik kalite kontrol süreçlerini destekler.
: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")
Çıkarılan Resimler
Resim Boyutu
Excel Çalışma Sayfalarından Resimleri Nasıl Kaldırırım?
Resim çıkarma örneğini takiben, karşılık gelen dizin numarasını kullanarak eklenen herhangi bir resmi kolayca kaldırabilirsiniz. Çalışma sayfasından kaldırmak için RemoveImage yöntemine resmin ID numarasını iletin. Bu işlem, gereksiz görsel öğeleri temizlemek veya farklı hedef kitleler için belgeler hazırlamak için C#'da Excel dosyalarını düzenlemeniz gerektiğinde özellikle faydalıdır.
Kaldırma işlemi basittir, ancak resim ID sistemini anlamayı gerektirir. IronXL tek sayılı bir sıra (1, 3, 5, 7...) ile ID'ler atadığı için, çoklu resimleri yönetirken bu ID'leri takip edin. Uygulamanızda, kolay yönetim için anlamlı adları resim ID'leriyle ilişkilendiren bir eşleştirme sistemi uygulamayı düşünün.
: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")
Daha karmaşık senaryolar için birden fazla çalışma sayfası ve görüntü içeren durumlarda, çalışma sayfalarını yönetmeyi keşfederek görüntü işlemlerinin çalışma sayfası düzeyindeki işlemlerle nasıl etkileşim kurduğunu anlayın. Ek olarak, korumalı Excel dosyalarıyla çalışırken, görüntü işlemlerinin parola korumalı çalışma kitaplarıyla nasıl çalıştığını anlamak için Excel dosyalarını koruma hakkındaki rehberimize başvurun.
Sıkça Sorulan Sorular
C# dilinde Excel elektronik tablolarına programlı olarak nasıl resim eklerim?
IronXL, Excel çalışma sayfalarına resim eklemek için InsertImage metodunu sağlar. Sadece görüntünün görünmesini istediğiniz üst sol ve alt sağ köşelerinin hücre aralığı koordinatlarını ve resim dosyasının yolunu belirtin. IronXL, JPG/JPEG, BMP, PNG, GIF ve TIFF dahil olmak üzere çeşitli resim formatlarını destekler.
Excel'e resim eklerken hangi resim formatları destekleniyor?
IronXL, Excel çalışma sayfalarına eklenebilecek birden fazla resim formatını destekler; bunlar arasında JPG/JPEG, BMP, PNG, GIF ve TIFF bulunmaktadır. Bu esneklik, iş belgelerinde ve veri görselleştirmede yaygın olarak kullanılan çeşitli resim türleriyle çalışmanıza olanak tanır.
Bir Excel çalışma sayfasından mevcut görüntüleri nasıl çıkarırım?
IronXL'ın Images koleksiyon özelliğini kullanarak Excel çalışma sayfalarından görüntüleri çıkarabilirsiniz. Belirli görüntüleri ve bunların özelliklerini ve meta verilerini almak için worksheet.Images[index] erişin, böylece bunları diğer belgelerde veya uygulamalarda yeniden kullanabilirsiniz.
Excel dosyalarindan resimleri programli olarak silebilir miyim?
Evet, IronXL, calisma tablolari uzerinden resimleri silmek için RemoveImage metodunu sunar. Belirli resimleri silmek için sadece resim ID'sini tedarik ediniz; bu sayede Excel Interop gerektirmeden resim yönetimi uzerinde tam kontrole sahip olabilirsiniz.
Yerleştirilen bir resmin boyutunu ve konumunu nasıl belirtebilirim?
IronXL'nin InsertImage metodunu kullanırken, dört koordinat belirtirsiniz: başlangıç sütunu, başlangıç satırı, bitiş sütunu ve bitiş satırı. Görüntü, tanımlanan hücre aralığına sığacak şekilde otomatik olarak gerilir veya sıkıştırılır. Örneğin, InsertImage("image.gif", 5, 1, 6, 2) 1x1 boyutunda bir görüntü oluşturur.
Elektronik tablolarda resimleri işlemek için Microsoft Excel yüklemem gerekir mi?
Hayır, IronXL, Microsoft Excel veya Excel Interop bağımlılıklarına ihtiyaç duymadan bağımsız çalışır. .NET uygulamanızda yalnızca IronXL kütüphanesi kullanarak Excel dosyalarından programlı bir şekilde resim ekleyebilir, çıkarabilir ve kaldırabilirsiniz.

