Excel'den C# ile Mail Merge | Excel Mail Merge'den Excel'e

Mail merge, mektup, e-posta, fatura veya sertifika gibi kişiselleştirilmiş belgeleri toplu olarak oluşturmayı kolaylaştırır. Bir şablon ile başlarsınız ve bunu bir elektronik tablodan alınan verilerle doldurursunuz. Excel dosyasındaki her bir satır, doğru detayların doğru yerlerde yer aldığı yeni bir belge oluşturur. Fatura göndermek veya rapor oluşturmak gibi tekrarlayan görevleri otomatikleştirmenin akıllı bir yoludur. Bu yazıda, C# kullanarak Excel’den nasıl bir mail merge yapılacağını göstereceğiz. Hadi başlayalım.

Bu makale aşağıdaki konuları kapsamaktadır:

C# Mail Merge Excel Kütüphanesi

Excel dosyalarıyla doğrudan kodunuzda çalışmak için Aspose.Cells for .NET API’sini kullanacağız. Geliştiricilerin, elektronik tabloları kolayca oluşturmasına, okumasına ve güncellemesine olanak tanıyan güçlü araçlar sunar. Ayrıca, zahmetsiz bir şekilde mail merge gibi gelişmiş görevleri de yönetebilirsiniz. Kütüphane, Excel otomasyonunu hızlı, esnek ve güvenilir hale getirir.

Aspose.Cells for .NET ile başlamanız için bu basit kurulum talimatlarını izleyin:

  1. Lütfen bunu releases adresinden indirin.
  2. Kütüphaneyi aşağıdaki komutla NuGet Package Manager kullanarak kurun:
PM> Install-Package Aspose.Cells

Mail Merge, Aspose.Cells ile nasıl çalışır?

Aspose.Cells `mail merge” özelliğini Word ile aynı şekilde desteklemez. Excel’e Smart Markers ile mail merge ekler. Bu işaretçiler, elektronik tablonuzda yer tutucu olarak işlev görür ve kütüphane bunları çalıştırma sırasında gerçek verilerle değiştirir. Veri kaynağınızdaki her satırı işlerken, şablonu doldurur ve içeriği otomatik olarak genişletir, böylece sadece birkaç satır C# kodu ile tamamen kişiselleştirilmiş belgeler oluşturmanıza olanak tanır.

&=DataSource.ColumnName

İşlem sırasında, Aspose.Cells bunları bir DataTable, List<T> veya herhangi bir IEnumerable‘dan gelen gerçek verilerle değiştirir. Örneğin, kütüphane &=Data.Name ifadesini Data tablosundaki Name sütunundaki değerlerle değiştirir.

Excel Şablonunu Hazırlayın

Excel dosyası oluşturun (örneğin, Template.xlsx) akıllı işaretlerle. İşte örnek bir düzen:

İsimE-postaMiktar
&=Data.Name&=Data.Email&=Data.Amount

Adım Adım C#‘da Excel’den Mail Merge Yapma Rehberi

Excel’den Aspose.Cells for .NET kullanarak bir mail merge gerçekleştirmek için şu adımları izleyin:

Adım 1: Excel Şablonunu Yükleyin

Excel şablon dosyasını Workbook sınıfını kullanarak yükleyin. Workbook sınıfı, tüm Excel dosyasını (çalışma kitabı) temsil eder. Yüklenmiş şablon dosyası, birleştirilmiş çıktınız için düzen olarak işlev görür.

Workbook workbook = new Workbook("Template.xlsx");

Adım 2: Bir DataTable Oluşturun

Burada, Excel veri kaynağınızı simüle eden bir DataTable oluşturuyoruz. Her sütun bir akıllı işaretleyici ile eşleşir ve her satır, eklemek için bir değer setini temsil eder. System.Data içindeki DataTable sınıfı, birleştirmek istediğiniz verileri tutar. Her sütun bir akıllı işaretleyici ile eşleşir ve her satır benzersiz bir değer seti sağlar.

DataTable dt = new DataTable("Data");
dt.Columns.Add("Name");
dt.Columns.Add("Email");
dt.Columns.Add("Amount");

dt.Rows.Add("Alice", "alice@example.com", 1000);
dt.Rows.Add("Bob", "bob@example.com", 1500);

Adım 3: Excel Şablonunuzu Veri Kaynağına Bağlayın

Biz WorkbookDesigner sınıfını şablonu veri ile bağlantılandırmak için kullanırız. WorkbookDesigner, akıllı işaretçileri ve veri bağlamayı işlemek için tasarlanmış Aspose.Cells’te özel bir sınıftır. Verilerinizi (örneğin bir DataTable) Excel şablonu ile bağlantılar. SetDataSource() metodu, DataTable’ı (Data) çalışma kitabındaki akıllı işaretçilere bağlar.

WorkbookDesigner designer = new WorkbookDesigner(workbook);
designer.SetDataSource(dt);
  • SetDataSource() veri tablosunu çalışma kitabındaki Akıllı İşaretçilere ekler.
  • "Data" işaretlerde kullanılan isimdir, örneğin &=Data.Name.

Adım 4: Posta Birleştirmeyi Uygulayın

Veri kaynağını ayarladıktan sonra, Process() çağrısı, DataTable’dan gerçek değerlerle tüm Akıllı İşaretleri doldurur. Bu komut, mail birleştirmeyi gerçekleştirir. Akıllı İşaretlerin üzerinden geçer ve onları veri kaynağından alınan gerçek değerlerle değiştirir.

designer.Process();

Adım 5: Dosyayı Kaydet

Son olarak, tamamlanan dosyayı tüm veriler birleştirilmiş olarak kaydediyoruz.

workbook.Save("MergedOutput.xlsx");

Birleştirilmiş Çıktıyı PDF Olarak Kaydet

Birleştirilmiş Excel belgesini tek satırlık bir kod ile kolayca PDF olarak kaydedebilirsiniz.

// Set PDF options
PdfSaveOptions options = new PdfSaveOptions();

// Save as PDF
workbook.Save("MergedDocument.pdf", SaveFormat.Pdf);

Complete C# Code to Mail Merge Data

// Excel şablonunu yükle
Workbook workbook = new Workbook("Template.xlsx");

// Create dummy data
DataTable dt = new DataTable("Data");
dt.Columns.Add("Name");
dt.Columns.Add("Email");
dt.Columns.Add("Amount");

dt.Rows.Add("Alice", "alice@example.com", 1000);
dt.Rows.Add("Bob", "bob@example.com", 1200);

// Veri kaynağını ayarlayın.
WorkbookDesigner designer = new WorkbookDesigner(workbook);
designer.SetDataSource(dt);

// Akıllı işaretçileri işleme (posta birleştirme)
designer.Process();

// Save the output
workbook.Save("MergedOutput.xlsx");

Output

Çıktı Excel dosyası, akıllı işaretlerin yerinde kişiselleştirilmiş verilerin doldurulmuş olduğu her giriş için bir satır içerir.

Excel'den C# ile Posta Birleştirme - Çıktı

Excel’den C# ile Mail Merge - Çıktı

Ücretsiz Lisans Alın

Get a free temporary license alarak Aspose.Cells for .NET’in sınırlama olmadan tüm özelliklerini test edebilirsiniz. Mail birleştirme, Excel raporlama veya PDF dışa aktarma gibi otomasyon görevleri için API’yi değerlendiriyorsanız idealdir.

Excel’den Excel Posta Birleşimi: Ücretsiz Kaynaklar

Excel poste birleştirmeye ek olarak, Aspose.Cells for .NET konusundaki bilginizi derinleştirmenize yardımcı olacak çeşitli kaynaklar sunuyoruz. Daha fazla bilgi için belgelerimize, öğreticilerimize ve topluluk forumlarımıza göz atın.

Sıkça Sorulan Sorular (SSS)

Q1: Microsoft Office yüklü olmadan Excel mail merge kullanabilir miyim?

Evet, mail merge Microsoft Office’u gerektirmez. Aspose.Cells bağımsız olarak çalışır ve her şeyi kendi API’leri aracılığıyla yönetir.

Q2: Akıllı İşaretçiler ile Kelime Birleştirme Alanları arasındaki fark nedir?

Akıllı İşaretçiler Excel içinde çalışır ve satır bazında veri genişletme için daha özelleştirilebilir. Birleştirme alanları ise Word’e özeldir.

Q3: Aspose kullanarak Excel’den Word’e birleştirme yapabilir miyim?

Evet, ama o senaryo için Aspose.Words’a ihtiyacınız olacak.

Q4: Excel birleşimlerinden PDF oluşturmayı otomatikleştirmek mümkün mü?

Kesinlikle. Son çalışma kitabını Aspose.Cells kullanarak PDF formatında kaydedin.

Sonuç

Excel’den mail birleştirme, tanıdık elektronik tablo arayüzünü kullanarak dinamik, kişiselleştirilmiş belgeler oluşturmanın güçlü bir yolunu sunar. Bu blog yazısında, C# kullanarak Excel’den mail birleştirmeyi ele aldık. Aspose.Cells Akıllı İşaretçileri kullanarak, bu süreci tamamen otomatikleştirme esnekliği kazanır ve binlerce fatura, sertifika veya herhangi bir yapılandırılmış rapor oluşturabilirsiniz.

Eğer herhangi bir sorunuz varsa veya daha fazla yardım gerekiyorsa, lütfen free support forum üzerinden bizimle iletişime geçmekte özgür olun.

Ayrıca Bakınız