Altbilgi içeriğine atla
IRONWORD KULLANıMı

C# Kullanarak Bir Word Belgesi Nasil Manipüle Edilir

Microsoft, Word'u bir kelime isleyici olarak hizmet vermesi icin yaratti. Ilk olarak Xenix sistemleri icin Multi-Tool Word adi altinda kullanima sunuldu ve 25 Ekim 1983'te tanitildi. Sonraki surumleri; SCO Unix (1990), Microsoft Windows (1989), Atari ST (1988), OS/2 (1989), AT&T UNIX PC (1985), DOS calistiran IBM PC'ler (1983), Classic macOS calistiran Apple Macintosh (1985), macOS (2001), Web tarayicilari (2010), iOS (2014) ve Android (2015) gibi genis bir isletim sistemi yelpazesi icin geliştirildi. Wine, daha eski Microsoft Word surumlerini Linux'ta calistirmak icin kullanilabilir.

Ticari Word surumleri, bir bagimsiz uygulama olarak veya Microsoft 365 parcasi olarak lisanslanabilir, surekli lisans olarak veya bir Microsoft 365 aboneligiyle birlikte satin alinabilir. Bu makalede, C# kullanarak Microsoft Interop kutuphanesi yardimiyla Word dokümanlarini manipule edecegiz ve IronXL'nin Excel dokümanlarini duzenlememize nasıl yardimci oldugunu kesfedecegiz.

How To Manipulate Word Document Using C

  1. Sifirdan yeni bir Visual Studio projelerini başlatin.
  2. Word dokümanlarini okumak icin gerekli kutuphaneyi kurun.
  3. Bir Word dokümanini manipule etmek icin mevcut bir dosya yukleyin veya yeni bir dosya oluşturun.
  4. Doküman verilerini duzenleyin ve dosyayi arayin.
  5. Oluşturulan tüm nesnelerden kurtulun.

Microsoft Interop Nedir?

C# veya VB.NET ile yazilmis programlar, Office Interoperability ile Microsoft Word dokümanlarini (DOC, DOCX ve RTF) oluşturabilir veya acabilir. Ancak projelerde kullanildiginda bircok dezavantaji vardir.

Bu makalede, C# veya VB.NET'ten Microsoft Office Interop (Word Automation) kullanirken karsilasabileceginiz yaygin sorunlari tartisacagiz.

Örneğin:

  • Sozluk otomasyonu icin gereken her müşteri PC'si icin Microsoft Word lisansli olmalidir.
  • Her müşteri'nin PC'sinde, ayni Microsoft Word sürümü yüklü olmalıdır.
  • Word, arka planda birden fazla dosya ve DLL yüklemek için birkaç megabayt RAM kullanir.
  • Microsoft Word API'sine bir COM nesnesi araciligiyla erisilir. Yönetilen koddan bir COM nesnesini çagirdiginizda, tür dönüştürmeleri, bir COM wrapper gereksinimi ve yetersiz .NET Framework entegrasyonu gibi sorunlar ortaya çikabilir.

Visual Studio'da Yeni Proje Oluşturma

Interop kutuphanesini kullanmadan once Visual Studio'yu başlatin ve bir .NET projesi oluşturun. Visual Studio herhangi bir surumle uyumludur, ancak en son sürüm önerilir. İhtiyaçlariniza bagli olarak, bir proje sablonu veya Windows Forms'a benzer bir uygulama geliştirebilirsiniz. Bu durumda, sadelik icin Konsol Uygulamasi'ni kullanacagim.

C#: Bir Word belgesi nasıl işlenir: Şekil 1 - Yeni Visual Studio Projesi Oluşturmak

Proje Ayrintilarini Yapılandır

Ardindan, projenin konumunu ve adini belirtin.

C#: Bir Word belgesi nasıl işlenir: Şekil 2 - Yeni VS Projesini Yapılandırma

.NET Framework kullanarak Yeni Bir Proje Dosyasi Oluşturma

Framework acilir menusunu kullanarak bir .NET Framework secin. Bu proje icin Dot.NET Framework 4.7 kullanilacaktir. Siradaki işlem "Oluştur" dugmesine basmaktir.

Uygulama cozumunu oluşturduktan sonra, Program.cs dosyasina eriserek kodu girebilir, programi derleyebilir veya calistirabiliriz.

C#: Bir Word belgesi nasıl işlenir: Şekil 3 - Yeni .NET Projesi .cs dosyası

Şimdi Microsoft.Office.Interop.Word kütüphanesi eklendiğine göre, kodu test edebiliriz.

Interop Kutuphanesini Yükle

Sonraki tamirat, Interop kutuphanesinin yüklenmesini gerektirir. Bunu basarmak icin NuGet Paket Yonetici Konsoluna asagidaki komutu girin:

Install-Package Microsoft.Office.Interop.Word

How To Manipulate A Word document Using C#: Figure 4 - For installing the IronXL library, you can use the Package Manager Console and enter the given command: Install-Package IronXl.Excel

Diğer bir yöntem, "Interop" paketini bulmak için NuGet Paket Yöneticisini kullanmaktır. Interop ile ilgili tüm NuGet paketleri arasında, indirilecek gerekli paketi bu listeden seçebiliriz.

C#: Bir Word belgesi nasıl işlenir: Şekil 5 - `Microsoft.Office.Interop.Word` Kütüphanesini Seçmek

Tüm gerekli kütüphaneleri yükledikten sonra, DOCX dosyalarını düzenlemeye başlayabilirsiniz.

Mevcut Word Belgelerini Interop Kullanarak Manipule Etme

Microsoft Word kullanmak için önce bir Microsoft.Office.Interop.Word.Application örneği oluşturmalısınız. Word dokümanlarinin iletimi bu durumda gerceklesecektir. Sonraki adım, az önce oluşturduğumuz Microsoft.Office.Interop.Word.Application örneğinin Documents özelliğini kullanarak yeni bir Word belgesi örneği oluşturmaktır. Asagidaki C# kod parcasinda görüldüğü gibi, bu, Word belgelerini programlamalı olarak değiştirmemize olanak tanır:

using System;
using Microsoft.Office.Interop.Word;

class Program
{
    static void Main()
    {
        try
        {
            // Create a new instance of Word Application
            var WordApp = new Microsoft.Office.Interop.Word.Application();
            // Open an existing document
            var WordDoc = WordApp.Documents.Open(@"d:/Demo.docx");
            // Edit the content of the first paragraph
            WordDoc.Paragraphs[1].Range.Text = "New text here...";
            // Save the edited document
            WordDoc.SaveAs(@"d:/NewDemo.docx");
            // Close the document
            WordDoc.Close();
            // Quit the Word application
            WordApp.Quit();
        }
        catch (Exception ex)
        {
            Console.WriteLine(ex.ToString());
        }
    }
}
using System;
using Microsoft.Office.Interop.Word;

class Program
{
    static void Main()
    {
        try
        {
            // Create a new instance of Word Application
            var WordApp = new Microsoft.Office.Interop.Word.Application();
            // Open an existing document
            var WordDoc = WordApp.Documents.Open(@"d:/Demo.docx");
            // Edit the content of the first paragraph
            WordDoc.Paragraphs[1].Range.Text = "New text here...";
            // Save the edited document
            WordDoc.SaveAs(@"d:/NewDemo.docx");
            // Close the document
            WordDoc.Close();
            // Quit the Word application
            WordApp.Quit();
        }
        catch (Exception ex)
        {
            Console.WriteLine(ex.ToString());
        }
    }
}
Imports System
Imports Microsoft.Office.Interop.Word

Friend Class Program
	Shared Sub Main()
		Try
			' Create a new instance of Word Application
			Dim WordApp = New Microsoft.Office.Interop.Word.Application()
			' Open an existing document
			Dim WordDoc = WordApp.Documents.Open("d:/Demo.docx")
			' Edit the content of the first paragraph
			WordDoc.Paragraphs(1).Range.Text = "New text here..."
			' Save the edited document
			WordDoc.SaveAs("d:/NewDemo.docx")
			' Close the document
			WordDoc.Close()
			' Quit the Word application
			WordApp.Quit()
		Catch ex As Exception
			Console.WriteLine(ex.ToString())
		End Try
	End Sub
End Class
$vbLabelText   $csharpLabel

Yukarıdaki kodda, Word belgesini C# dilinde düzenleyebiliyoruz. İlk olarak, Interop kullanarak Word uygulamasının bir örneğini oluşturuyoruz. Ardından Open yöntemi kullanılarak mevcut bir Word dosyası açılır ve belge nesnesine dönüştürülür. Daha sonra, belgelerle etkileşimde bulunmak için uygun olan çeşitli özelliklere ve yöntemlere erişim sağlayabiliriz. Örnekte, ilk paragrafın metni, hangi paragrafın düzenleneceğini belirtmek için bir dizin ve Paragraphs koleksiyonu kullanılarak güncellenir. Son olarak, değişiklikler SaveAs ile kaydedilir ve belge ile uygulama düzgün bir şekilde kapatılır.

Interop'a Alternatif IronXL Kutuphanesi

IronXL, .NET programlarinda Excel dosyalarını işlemek icin kullanilabilecek, Microsoft Interop'a alternatif bir yaklasimdir. Microsoft Interop, Interop kutuphaneleri araciligiyla Excel ile etkileşim kurmayı gerektirirken, IronXL, .NET bağlamlarında Excel dosyalarını programlamalı olarak düzenlemek için daha doğrudan, etkili ve güçlü bir yöntem sunar.

Microsoft Interop yerine IronXL kullanmanin bircok faydasi vardir, bunlar:

  • Performans ve Kaynak Verimliligi: Bilgisayarda Excel uygulamasının yüklü olmasına dayanan Microsoft Interop'a kıyasla, IronXL daha iyi performans gösterir ve Excel uygulamasına bağımlı olmadığından daha az kaynak kullanır.
  • Kullanım Kolaylığı ve Basitlik: IronXL, Excel dosyalarını okuma, yazma ve değiştirme işlemlerini Microsoft Interop ile ilgili karmaşıklıklar olmadan basitleştiren daha kolay kullanımlı bir API sağlar.
  • Uyumluluk ve Bağımlılık: Microsoft Excel'in bilgisayara yüklenmesini gerektirmeyerek, çeşitli Excel veya Office sürümleriyle oluşabilecek bağımlılık ve uyum problemlerini ortadan kaldırır.
  • Platform Bağımsızlığı: Belirli Microsoft Office sürümleriyle daha yakından ilişkili olabilecek Microsoft Interop'un aksine, IronXL, çeşitli ortam ve platformlarda dağıtım esnekliği ve kolaylığı sunar.

Excel dosyalarıyla programatik olarak çalışmaları gerekli olan .NET geliştiricileri için, IronXL, kullanım kolaylığı, hız ve üçüncü taraf yazılım kurulumlarına olan azaltılmış bağımlılığı nedeniyle genellikle daha iyi bir seçenektir. IronXL ve Microsoft Interop arasinda karar verirken, proje özellikleri, mevcut altyapi ve her bir kutuphane ile kullanicinin uzmanlik seviyesinin etkili olabilecegi ihtimaline karsi dikkatli olun.

Bu seçeneklerden birini secmeden once uygulamanizin gereksinimlerini her zaman dusunun. IronXL kutuphanesi hakkında daha fazla bilgi için bu bağlantıya göz atın.

IronXL Kütüphanesini Yükleme

Gelecek yamaya ihtiyaçınız için IronXL kütüphanesini kurun. Bunu tamamlamak için, NuGet Paket Yöneticisi Konsolunu açın ve aşağıdaki komutu yazın:

Install-Package IronWord

C#: Bir Word belgesi nasıl işlenir: Şekil 6 - Konsol komutunu kullanarak IronXL yüklemek

IronXL paketini NuGet Paket Yöneticisi üzerinden aramak başka bir seçenektir. IronXL ile bağlantılı tüm NuGet paketlerinden ihtiyaçımız olanı indirmek için seçebiliriz.

C#: Bir Word belgesi nasıl işlenir: Şekil 7 - `IronXl.Excel` Paketini Tarayarak Yüklemek

IronXL Kullanarak Excel Belgelerini Duzenleme

Veriler, sadece birkac satir kodla XLSX veya XLS formatlarina export edilebilir. Asagidaki kaynak kod orneği, verilerin bir Excel dosyasından basit bir tablo formatına nasıl eksport edilebileceğini gösterir:

using IronXL;

class Program
{
    static void Main()
    {
        // Load an existing Excel file
        var workbook = WorkBook.Load("Demo file.xlsx");
        // Access the first sheet or the sheet by name
        var ws = workbook.GetWorkSheet("Sheet1");
        // Read a value from a cell and output it to the console
        string address_val = ws["A1"].ToString();
        Console.WriteLine(address_val);
        // Modify a cell's value
        ws["A2"].Value = "Hello World";
        // Save the workbook to different formats
        workbook.SaveAs("export.xlsx");
        workbook.SaveAs("export.xls");
        workbook.WorkSheets[0].SaveAs("export.xls");
    }
}
using IronXL;

class Program
{
    static void Main()
    {
        // Load an existing Excel file
        var workbook = WorkBook.Load("Demo file.xlsx");
        // Access the first sheet or the sheet by name
        var ws = workbook.GetWorkSheet("Sheet1");
        // Read a value from a cell and output it to the console
        string address_val = ws["A1"].ToString();
        Console.WriteLine(address_val);
        // Modify a cell's value
        ws["A2"].Value = "Hello World";
        // Save the workbook to different formats
        workbook.SaveAs("export.xlsx");
        workbook.SaveAs("export.xls");
        workbook.WorkSheets[0].SaveAs("export.xls");
    }
}
Imports IronXL

Friend Class Program
	Shared Sub Main()
		' Load an existing Excel file
		Dim workbook = WorkBook.Load("Demo file.xlsx")
		' Access the first sheet or the sheet by name
		Dim ws = workbook.GetWorkSheet("Sheet1")
		' Read a value from a cell and output it to the console
		Dim address_val As String = ws("A1").ToString()
		Console.WriteLine(address_val)
		' Modify a cell's value
		ws("A2").Value = "Hello World"
		' Save the workbook to different formats
		workbook.SaveAs("export.xlsx")
		workbook.SaveAs("export.xls")
		workbook.WorkSheets(0).SaveAs("export.xls")
	End Sub
End Class
$vbLabelText   $csharpLabel

Önceki örnek, dosya yolu ve adını argüman olarak alan Load fonksiyonu çağrılarak zaten mevcut olan bir Excel dosyasını yükler. Dosyayı WorkBook nesnesine içe aktarmak artık tamamlandı. Excel çalışma kitapları daha sonra, sayfa adını kullanarak çalışma sayfasını yüklememizi sağlayan GetWorkSheet yardımıyla yüklenir. Excel adresi daha sonra degeri okumak icin kullanildi. Excel dosyalarının nasıl okunacağı hakkında daha fazla bilgi icin buraya tıklayın.

Aynı Excel adresini kullanarak Excel sayfasının değerlerini değiştirebiliriz. Excel belgesi, WorkBook nesnesi tarafından sunulan SaveAs fonksiyonu kullanılarak XLSX veya XLS dosyası olarak kaydedilebilir. Bu süreç kullanılarak dosyanın tamamı seçilen formatta kaydedilir.

C#: Bir Word belgesi nasıl işlenir: Şekil 8 - Konsol Çıkışı

Ayrıca belirli bir Excel çalışma sayfasını indeks değerini kullanarak veya adını belirterek seçebiliriz. Bir sonraki adımda, SaveAs seçeneğini kullanarak Excel elektronik tablosundaki verileri farklı bir dosyaya aktarabiliriz. Daha fazla bilgi için Excel dosyalarını biçimlendirme ve dışa aktarma hakkında bilgi almak üzere bu bağlantıya tıklayın.

Sonuç

Excel için en popüler eklentilerden biri IronXL'dir. Herhangi bir ek dış kütüphaneye bağımlı değildir. Microsoft Excel'i yüklemek gerekli değildir çünkü kendi kendine yeten bir çözümdür. Birçok kanal üzerinden çalışır. Bu, Word belgelerini düzenlemek için ek kütüphaneler kullanarak dosyayı ayrıştırması gereken Interop kütüphanesi ile zıtlık gösterir.

Microsoft Excel belgeleri kullanan herhangi bir programlama süreci için tam bir çözüm IronXL'dir. Hesaplamalar, dizeleri veya sayıları sıralamak, kesme, ekleme, bulma ve değiştirme, birleştirme ve ayırma ve dosya depolama sadece mevcut işlemlerden birkaçıdır. Veri doğrulama özelliklerinin yanı sıra hücre verilerinin yeni biçimlerini de oluşturabilirsiniz. Dosyaları okumayı ve yazmayı ve Excel verilerini işlemeyi kolaylaştırır.

IronXL ilk piyasaya sürüldüğünde maliyeti $799 idi. Alternatif olarak, müşteriler bir yıllık abonelik ücreti ödemeyi ve yazılım güncellemeleri ve desteğini almayı tercih edebilirler. IronXL, izinsiz yeniden dağıtıma karşı koruma sağlar, ancak bunun için bir ücret alınır. IronXL lisanslama sayfasına gidin. Iron Software ürünleri hakkında daha fazla bilgi edinmek için buraya bakın.

Sıkça Sorulan Sorular

C# kullanarak Word belgelerini nasıl manipüle edebilirim?

C# kullanarak Word belgelerini manipüle etmek için Microsoft.Office.Interop.Word kütüphanesini kullanabilirsiniz. Bu, Word uygulamasının bir örneğini oluşturmayı, belgeyi açmayı, değişiklikler yapmayı ve belgeyi programatik olarak kaydetmeyi içerir.

Microsoft Interop kullanarak Word belge manipülasyonunda ne gibi sınırlamalar vardır?

Microsoft Interop kullanımının sınırlamaları, her müşteri bilgisayarında lisanslı bir Microsoft Word sürümünün bulunma gerekliliği, sürüm uyumluluğu ile ilgili potansiyel sorunlar ve arka plan süreçlerinden dolayı artan bellek tüketimi içerir.

Word belgeleriyle çalışmak için Visual Studio'da bir C# projesini nasıl ayarlayabilirim?

Visual Studio'da, bir Konsol Uygulaması seçerek yeni bir proje ayarlayabilirsiniz, gerekli proje ayrıntılarını yapılandırın ve doğru .NET Framework sürümünü seçtiğinizden emin olun. Daha sonra Microsoft.Office.Interop.Word'a NuGet Paket Yöneticisi üzerinden referanslar eklemeniz gerekecektir.

Excel dosyalarını yönetmek için IronXL ve Microsoft Interop arasındaki farklar nelerdir?

IronXL, Excel kurulumu gerektirmeme, daha iyi performans sağlama ve kolay bir API sunma gibi avantajlar sunar. Ayrıca Interop yöntemine bağlı uyumluluk sorunlarını ortadan kaldırır.

IronXL'i .NET projemde nasıl kurabilirim?

IronXL'i .NET projenize kurmak için, Visual Studio'da NuGet Paket Yöneticisi Konsolunu açın ve Install-Package IronXl.Excel komutunu çalıştırın. Ayrıca, NuGet Paket Yöneticisi UI'sinde IronXL'i arayabilir ve doğrudan kurabilirsiniz.

IronXL'i C# dilinde kullanarak Excel belgelerini nasıl düzenleyebilirim?

IronXL kullanarak, Excel belgelerini WorkBook.Load ile yükleyerek, belirli çalışma sayfalarına erişip, hücre değerlerini değiştirerek ve WorkBook ve WorkSheet nesnelerinin sağladığı yöntemler kullanarak workbook'u kaydederek düzenleyebilirsiniz.

Excel dosya manipülasyonu için IronXL kullanmanın ne gibi faydaları vardır?

IronXL, performans artışı, kullanım kolaylığı ve platform bağımsızlığı gibi faydalar sağlar. Excel kurulumu gerektirmez, bu da bağımlılık sorunlarını ortadan kaldırır ve .NET uygulamalarına sorunsuz entegrasyon sağlar.

Microsoft Interop kullanmadan Word belge görevlerini otomatikleştirebilir miyim?

Evet, çeşitli üçüncü taraf kütüphaneler Microsoft Word kurulumu gerektirmeden, daha basit API'ler sunarak Word belge görevlerini otomatikleştirmek için Microsoft Interop'a alternatifler sunar.

Jordi Bardia
Yazılım Mühendisi
Jordi Python, C# ve C++ konularında en yetkin, Iron Software'deki yeteneklerini kullanmadığı zamanlarda; oyun programlıyor. Ürün testi, ürün geliştirme ve araştırma sorumluluklarını paylaşan Jordi, sürekli ürün gelişimine büyük değer katıyor. Çeşitli deneyimleri onu ...
Daha Fazlasını Oku

Iron Destek Ekibi

Haftanın 5 günü, 24 saat çevrimiçiyiz.
Sohbet
E-posta
Beni Ara