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

C#'da Bir Word Belgesi Nasil Oluşturulur

Microsoft, kelime işlem programı olarak Word'u oluşturdu. Başlangıçta Xenix sistemleri için Multi-Tool Word adı altında mevcut olan bu program, 25 Ekim 1983'te piyasaya çıktı. Ardından daha geniş bir işletim sistemi yelpazesi için geliştirildi, örneğin SCO Unix (1990), Microsoft Windows (1989), Atari ST (1988), OS/2 (1989), AT&T UNIX PC (1985), DOS çalıştıran IBM PC'ler (1983), classic macOS çalıştıran Apple Macintosh (1985), macOS (2001), Web tarayıcılar (2010), iOS (2014) ve Android (2015). Wine, Linux üzerinde eski Microsoft Word sürümleri çalıştırmak için kullanılabilir.

Ticari Word sürümleri, bağımsız bir uygulama olarak lisanslanabilir veya Microsoft 365 bileşeni olarak, ardışık veya Microsoft 365 aboneliği ile satın alınabilir. Bu makalede, Microsoft Interop kütüphaneleri yardımıyla C# kullanarak Word belgelerini manipüle edecek ve IronXL'in Excel belgelerini düzenlemede bize nasıl yardımcı olduğunu keşfedeceğiz.

How To Manipulate Word Document Using C

  1. Yeni bir Visual Studio proje çalışması başlatın.
  2. Word belgelerini okumak için gerekli kütüphaneyi kurun.
  3. Bir Word belgesini manipüle etmek için mevcut bir dosya yükleyin veya yeni bir dosya oluşturun.
  4. Belge verilerini düzenleyin ve dosyayı ayrıştırın.
  5. Oluşturulan tüm nesnelerden kurtulun.

Microsoft Interop Nedir?

C# veya VB.NET ile yazılmış programlar, Office Interoperability için Microsoft Word ile DOC, DOCX ve RTF belgeler oluşturabilir veya açabilir. Ancak, projelerde kullanıldığında birçok dezavantajı vardır.

Bu makalede, C# veya VB.NET'ten Microsoft Office Interop (Word Otomasyonu) kullanırken karşılaşabileceğiniz sıkça karşılaşılan sorunları tartışacağız.

Örneğin:

  • Her müşteri bilgisayarının Word otomasyonu için lisanslı olması gereklidir.
  • Her müşteri bilgisayarında aynı Microsoft Word sürümünün yüklü olması gereklidir.
  • Otomasyon kullanıldığında, Word farklı dosyaları ve DLL'leri arka planda yüklemek için birkaç megabayt RAM kullanır.
  • Microsoft Word API'si bir COM nesnesi aracılığıyla erişilir. Yönetilen koddan bir COM nesnesi çağrıldığında tür dönüşümleri gibi sorunlar ortaya çıkabilir, bu bir COM sarmalayıcı gerektirir ve .NET Framework entegrasyonu zayıftır.

Visual Studio'da Yeni Proje Oluşturma

Interop kütüphanesini kullanmadan önce Visual Studio'yu başlatmak ve bir .NET projesi oluşturmak gereklidir. Visual Studio her sürümle uyumludur, ancak en son sürüm önerilir. İhtiyacınıza bağlı olarak, ya bir proje şablonu ya da Windows Forms'a benzeyen bir uygulama geliştirebilirsiniz. Bu durumda basitlik açısından Konsol Uygulaması kullanacağım.

C# ile Bir Word Belgesini Nasıl Manipüle Edilir: Şekil 1 - Yeni Bir Visual Studio Projesi Oluşturma

Proje Detaylarını Yapılandırın

Sonraki adım, projenin konumunu ve adını sağlamaktır.

C# ile Bir Word Belgesini Nasıl Manipüle Edilir: Şekil 2 - Yeni VS Projesini Yapılandırma

.NET Framework kullanarak Yeni Bir Proje Dosyası Oluşturun

Framework açılır menüsünü kullanarak bir .NET Framework seçebilirsiniz. Bu proje için Dot.NET Framework 4.7 kullanılacak. Bir sonraki adım "Oluştur" düğmesine basmaktır.

Uygulama çözümü ürettikten sonra, Program.cs dosyasına erişerek kodu girebilir ve programı derleyebilir veya çalıştırabilirsiniz.

C# ile Bir Word Belgesini Nasıl Manipüle Edilir: Şekil 3 - Yeni .NET Projesi .cs Dosyası

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

Interop Kütüphanesini Yükleyin

Bir sonraki işlem, Interop kütüphanesini yüklemeyi gerektirir. Bunu gerçekleştirmek için NuGet Package Manager Console'a aşağıdaki 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`

"Interop" paketini bulmanın başka bir yolu da NuGet Package Manager'ı kullanmaktır. Interop ile ilgili tüm NuGet paketleri arasında, indirmek istediğimiz paketi bu listeden seçebiliriz.

C# ile Bir Word Belgesini Nasıl Manipüle Edilir: Şekil 5 - `Microsoft.Office.Interop.Word` Kütüphanesini Seçme

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

Mevcut Word Belgelerini Interop Kullanarak Manipüle Etme

Microsoft Word'ü kullanmak için önce bir Microsoft.Office.Interop.Word.Application örneği oluşturmalısınız. Word belgelerinin iletişimi bu örnekte gerçekleşir. Bir 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. Aşağıdaki C# kod alıntısı olarak görüldüğü gibi, bu bize Word belgelerini programatik olarak manipüle etme olanağı sağlar:

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# içinde düzenleyebilmekteyiz. İlk olarak, Interop kullanarak Word uygulamasının bir örneğini oluşturuyoruz. Ardından Open yöntemi, mevcut bir Word dosyasını açmak ve onu bir belge nesnesine dönüştürmek için kullanılır. Ardından, belgeyle etkileşim kurmak için mevcut çeşitli özelliklere ve yöntemlere erişebiliriz. Örnekte, ilk paragrafın metnini güncelliyoruz, düzenlenecek paragrafı belirtmek için Paragraphs koleksiyonunu ve bir indeksi kullanarak. Son olarak, değişiklikler SaveAs ile kaydedilir ve belge ile uygulama uygun şekilde kapatılır.

Interop İçin IronXL Kütüphanesi Alternatifi

IronXL, Excel dosyalarını işlemek için .NET programlarında kullanılabilecek Microsoft Interop'a bir alternatiftir. Microsoft Interop'un Excel ile etkileşim kurmak için Interop derlemelerine ihtiyaç duymasına rağmen, IronXL, Excel dosyalarını .NET bağlamlarında programatik olarak manipüle etmek için daha basit, etkili ve güçlü bir yöntem sunar.

Microsoft Interop yerine IronXL kullanmanın bazı avantajları şunlardır:

  • Performans ve Kaynak Verimliliği: Microsoft Interop, bilgisayarda yüklü Excel uygulamasına ihtiyaç duyduğundan, IronXL daha iyi performans gösterir ve daha az kaynak kullanır çünkü Excel uygulamasına bağımlı değildir.
  • Kullanım Kolaylığı ve Basitlik: IronXL, Excel dosyalarını okuma, yazma ve manipüle etmeyi basitleştiren, Microsoft Interop ile gelen karmaşıklıklardan yoksun, daha kolay bir kullanıma sahip API sunar.
  • Uyumluluk ve Bağımlılık: IronXL, bilgisayarda Microsoft Excel kurulumu gerektirmediği için, çeşitli Excel veya Office sürümleriyle yaşanabilecek bağımlılık ve uyumluluk sorunlarını ortadan kaldırır.
  • Platform Bağımsızlığı: Belirli Microsoft Office sürümleriyle daha yakın ilişki kurulabilecek Microsoft Interop'un aksine, IronXL, çeşitli ortamlar ve platformlar arasında daha fazla esneklik ve kolay dağıtım sunar.

.NET geliştiricileri için Excel dosyalarını programatik olarak çalıştırmak gerektiğinde, IronXL genellikle kullanım kolaylığı, hızı ve üçüncü parti yazılım yüklemelerine daha az bağımlılığı nedeniyle daha iyi bir seçenek olur. Ancak IronXL ile Microsoft Interop arasında seçim yapmak projenin detayları, mevcut altyapı ve her bir kütüphanenin kullanıcı düzeyi bilgisine göre etkilenebilir.

Bu seçenekler arasında karar verirken, daima uygulamanızın gereksinimlerini göz önünde bulundurun. IronXL kütüphanesi hakkında daha fazla bilgi edinmek için bu linke göz atın.

IronXL Kütüphanesi Yükleme

Gelecek yama için IronXL kütüphanesi gereklidir, bu yüzden kurun. Bunu tamamlamak için, NuGet Package Manager Console'u açın ve aşağıdaki komutu yazın:

Install-Package IronWord

C# ile Bir Word Belgesini Nasıl Manipüle Edilir: Şekil 6 - Konsol Komutunu Kullanarak IronXL'in Yüklenmesi

NuGet Package Manager üzerinden "IronXL" paketini aramak başka bir seçenektir. IronXL ile bağlantılı her NuGet paketinin bu listesinden ihtiyacımız olanı seçebiliriz.

C# ile Bir Word Belgesini Nasıl Manipüle Edilir: Şekil 7 - `IronXL.Excel` Paketinin Araştırılarak Yüklenmesi

IronXL Kullanarak Excel Belgelerini Düzenleme

Veriler, sadece birkaç satırlık kod ile XLSX veya XLS formatlarına aktarılabilir. Aşağıdaki kaynak kod örneği, verilerin bir Excel dosyasından basit bir tablo formatına nasıl aktarılabileceğ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ı için bir argüman alan Load fonksiyonunu çağırarak zaten var olan bir Excel dosyasını yükler. Dosyanın WorkBook nesnesine aktarılması şimdi tamamlandı. Ardından Excel çalışma sayfaları, sayfa adını kullanarak çalışma sayfasını yüklememize izin veren GetWorkSheet yardımıyla yüklenir. Excel adresi kullanılarak değer okundu. Excel dosyalarını okumak hakkında daha fazla bilgi edinmek için 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 fonksiyonunu kullanarak bir XLSX veya XLS dosyası olarak kaydedilebilir. Bu süreç kullanılarak, tüm dosya seçilen formatta kaydedilir.

C# ile Bir Word Belgesini Nasıl Manipüle Edilir: Şekil 8 - Konsol Çıkışı

Ayrıca, belirli bir Excel çalışma sayfasını adını veya index değerini kullanarak seçebiliriz. Ardından, Excel elektronik tablosundaki verileri SaveAs seçeneğini kullanarak farklı bir dosyaya aktarabiliriz. Excel dosyalarını biçimlendirme ve ihraç etme hakkında daha fazla bilgi edinmek için bu linke tıklayın.

Sonuç

Excel için en popüler eklentilerden biri IronXL'dir. Ekstra bir harici kütüphaneye bağımlı değildir. Microsoft Excel yüklenmesine gerek yoktur çünkü kendi kendine yeterlidir. Çeşitli kanallar üzerinden çalışır. Bu, Word belgelerini düzenlemek için ekstra kütüphaneleri kullanarak dosyayı çözümlemesi gereken Interop kütüphanesi ile tezat oluşturur.

Microsoft Excel belgelerini kullanarak herhangi bir programlama işlemi için kapsamlı bir çözüm IronXL'dir. Hesaplamalar, dizeleri veya sayıları sıralama, düzeltme, ekleme, bulma ve değiştirme, birleştirme ve ayırma ve dosya depolama gibi birçok operasyon mevcut. Yalnızca elektronik tablo verileri doğrulanamaz, ayrıca yeni hücre veri türleri de oluşturabilirsiniz. Dosyaları okuma ve yazmanın yanı sıra Excel verilerini işleme kolaylığını sağlar.

IronXL ilk piyasaya sürüldüğünde maliyeti $999. Alternatif olarak, müşteriler yazılım güncellemeleri ve desteği almak için bir yıllık abonelik ücreti ödemeyi tercih edebilirler. Belirli bir ücret karşılığında, IronXL yetkisiz yeniden dağıtıma karşı güvenlik sağlar. IronXL lisanslama sayfasına gidin. Iron Software ürünleri hakkında daha fazla bilgiye buradan ulaşabilirsiniz.

Sıkça Sorulan Sorular

C# kullanarak Word belgelerini nasıl işleyebilirim?

C# kullanarak Word belgelerini işlemek 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.

Word belge işleme için Microsoft Interop kullanmanın sınırlamaları nelerdir?

Microsoft Interop kullanmanın sınırlamaları, her istemci PC'de lisanslı bir Microsoft Word sürümünün bulunmasının gerekmesi, sürüm uyumluluğu ile ilgili potansiyel sorunlar ve arka plan süreçler nedeniyle artan bellek tüketimini içerir.

Word belgeleri ile çalışmak için Visual Studio'da bir C# projesi nasıl kurabilirim?

Visual Studio'da, gerekli proje ayrıntılarını yapılandırarak ve doğru .NET Framework sürümünü seçerek bir Konsol Uygulaması seçerek yeni bir proje oluşturabilirsiniz. Daha sonra NuGet Package Manager aracılığıyla Microsoft.Office.Interop.Word'a referanslar eklemeniz gerekecektir.

Excel dosyalarını işleme konusunda IronXL ve Microsoft Interop arasındaki farklar nelerdir?

IronXL, Excel kurulumu gerektirmemesi, daha iyi performans sunması ve Excel dosyalarını işlemek için daha basit bir API'ye sahip olması gibi avantajlar sunar. Ayrıca Interop yöntemiyle ilişkili uyumluluk sorunlarını ortadan kaldırır.

.NET projemde IronXL'i nasıl yükleyebilirim?

.NET projenizde IronXL'i yüklemek için Visual Studio'da NuGet Paket Yöneticisi Konsolunu açın ve Install-Package IronXL.Excel komutunu yürütün. Ayrıca, NuGet Paket Yöneticisi arayüzünde IronXL'i arayabilir ve doğrudan yükleyebilirsiniz.

C#'ta IronXL kullanarak Excel belgelerini nasıl düzenlerim?

IronXL kullanarak Excel belgelerini WorkBook.Load ile yükleyerek, belirli çalışma sayfalarına erişerek, hücre değerlerini düzenleyerek ve kitabı WorkBook ve WorkSheet nesneleri tarafından sağlanan yöntemlerle kaydederek düzenleyebilirsiniz.

Excel dosyası işleme için IronXL kullanmanın avantajları nelerdir?

IronXL, gelişmiş performans, kullanım kolaylığı ve platform bağımsızlığı gibi avantajlar sunar. 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 kurulumunu gerektirmeyen daha basit API'ler sunarak Word belge görevlerini otomatikleştirme konusunda Microsoft Interop'a alternatifler sunar.

Curtis Chau
Teknik Yazar

Curtis Chau, Bilgisayar Bilimleri alanında Lisans Derecesine (Carleton Üniversitesi) sahip ve Node.js, TypeScript, JavaScript ve React konularında uzmanlaşmış ön uç geliştirmeyle ilgileniyor. Sezgisel ve estetik açıdan hoş kullanıcı arayüzleri oluşturma tutkunu, Curtis modern çerçevelerle çalışmayı ve iyi yapı...

Daha Fazla Oku

Iron Destek Ekibi

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