IRONWORD VERWENDEN

C# Word bearbeiten (Code-Beispiel Entwickler Tutorial)

Jordi Bardia
Jordi Bardia
14. November 2023
Teilen Sie:

Das Erstellen, Bearbeiten und Verwalten von Word-Dokumenten ist eine häufige Anforderung für viele Anwendungen. Es gibt zwar mehrere Möglichkeiten, ein Word-Dokument in C# zu erstellen und zu bearbeiten, aber eine der leistungsfähigsten Methoden ist die Verwendung der Microsoft Interop-Dienste. Mit diesem Tool können Sie Word-Dokumente ganz einfach programmatisch bearbeiten.

Voraussetzungen

Bevor Sie die Umgebung einrichten und mit dem Code beginnen, sollten Sie sicherstellen, dass Sie die folgenden Voraussetzungen erfüllen:

  1. Visual Studio: Stellen Sie sicher, dass Sie Visual Studio auf Ihrem Rechner installiert haben. Wenn nicht, laden Sie es von der offiziellen Microsoft-Website herunter und installieren Sie es.

  2. Microsoft Word: Da wir Microsoft Interop verwenden, sollten Sie MS Word auf Ihrem Computer installiert haben. Der Interop-Dienst bildet eine Schnittstelle zu der auf Ihrem Computer installierten Microsoft Word-Anwendung.

  3. Grundlegende C#-Kenntnisse Verständnis grundlegender C#

  4. .NET Framework: Stellen Sie sicher, dass Ihr Visual Studio das .NET Framework unterstützt, da unsere Anwendung darauf basieren wird.

Einrichten der Umgebung

Öffnen Sie zunächst die Anwendung Visual Studio. Nach dem Öffnen werden Sie mit einem Willkommensbildschirm begrüßt.

1. Erstellen einer neuen .NET-Framework-Konsolenanwendung

  1. Klicken Sie auf "Ein neues Projekt erstellen".

  2. Geben Sie "Console App (.NET Framework)" in das Suchfeld ein.

  3. Wählen Sie aus den Ergebnissen "Konsolenanwendung (.NET Framework)" aus und klicken Sie auf die Schaltfläche "Weiter".

  4. Geben Sie Ihrem Projekt einen Namen und klicken Sie dann auf die Schaltfläche "Erstellen".

    Nach diesen Schritten generiert Visual Studio eine neue .NET-Framework-Konsolenanwendung für Sie. In der Program.cs-Datei finden Sie eine grundlegende Vorlage mit einer Main-Methode, die als Einstiegspunkt für Konsolenanwendungen dient.

2. Installieren Sie Microsoft.Office.Interop.Word mit dem NuGet-Paket-Manager

NuGet ist ein Paketmanager für .NET, der in Visual Studio integriert ist. So können Sie das Paket Microsoft.Office.Interop.Word installieren:

  1. Gehen Sie in Visual Studio in das Menü "Werkzeuge".

  2. Wählen Sie "NuGet Package Manager" und dann "Manage NuGet Packages for Solution...".

  3. Klicken Sie im NuGet-Fenster auf die Registerkarte "Durchsuchen".

  4. Geben Sie im Suchfeld Microsoft.Office.Interop.Word ein und drücken Sie die Eingabetaste.

  5. Wählen Sie aus den Suchergebnissen das Paket Microsoft.Office.Interop.Word aus.

  6. Vergewissern Sie sich auf der rechten Seite, dass Ihr Konsolenanwendungsprojekt markiert ist, und klicken Sie dann auf die Schaltfläche "Installieren".

    C# Word bearbeiten (Codebeispiel Entwickler-Tutorial) Abbildung 1

    Visual Studio installiert nun das Paket und fügt einen Verweis darauf in Ihrem Projekt hinzu. Dieses Paket enthält die notwendigen Assemblys und Werkzeuge, um mit MS Word von Ihrer C#-Anwendung aus zu interagieren.

Einführung von IronWord: Eine überlegene Alternative zu Interop

Interop bietet zwar leistungsstarke Funktionen für die Arbeit mit Word und Excel, hat aber auch seine Grenzen. Hier kommt IronWord ins Spiel, eine vielseitige, für .NET-Entwickler optimierte Bibliothek. IronWord bietet vor allem bei der Bearbeitung von Word-Dokumenten ein reibungsloseres Arbeiten als Interop. Es gewährleistet nicht nur Kompatibilität und Leistung, sondern vereinfacht auch komplexe Aufgaben mit intuitiven Methoden. Zum leichteren Vergleich werde ich IronWord-Codeausschnitte für jeden Anwendungsfall nach MS Word bereitstellen, unter Verwendung von IronWord-Version 2024.1.2.

Vorhandenes Word-Dokument öffnen

Häufig müssen Sie bestehende Word-Dokumente bearbeiten. Das folgende Beispiel zeigt, wie Sie dies in C# tun können:

var WordApp = new Microsoft.Office.Interop.Word.Application();
var WordDoc = WordApp.Documents.Open(@"path_to_your_document.docx");
var WordApp = new Microsoft.Office.Interop.Word.Application();
var WordDoc = WordApp.Documents.Open(@"path_to_your_document.docx");
Dim WordApp = New Microsoft.Office.Interop.Word.Application()
Dim WordDoc = WordApp.Documents.Open("path_to_your_document.docx")
$vbLabelText   $csharpLabel

Ersetzen Sie im obigen Code path_to_your_document.docx durch den Pfad zu Ihrer docx-Datei.

IronWord verwenden

Öffnen Sie ein Word-Dokument mit IronWord.

WordDocument doc = new WordDocument(@"path_to_your_document.docx");
WordDocument doc = new WordDocument(@"path_to_your_document.docx");
Dim doc As New WordDocument("path_to_your_document.docx")
$vbLabelText   $csharpLabel

Ein neues Word-Dokument erstellen

So erstellen Sie Word-Dokumente von Grund auf neu:

var WordApp = new Microsoft.Office.Interop.Word.Application();
var WordDoc = WordApp.Documents.Add();
var WordApp = new Microsoft.Office.Interop.Word.Application();
var WordDoc = WordApp.Documents.Add();
Dim WordApp = New Microsoft.Office.Interop.Word.Application()
Dim WordDoc = WordApp.Documents.Add()
$vbLabelText   $csharpLabel

Dieses Code-Snippet erstellt ein neues Word-Dokument, das Sie mit C# schreiben und bearbeiten können.

IronWord verwenden

WordDocument doc = new WordDocument();
WordDocument doc = new WordDocument();
Dim doc As New WordDocument()
$vbLabelText   $csharpLabel

Verwendung von C#

Hinzufügen von Text zum Word-Dokument

So fügen Sie einen neuen Textabsatz hinzu:

WordDoc.Paragraphs.Add();
WordDoc.Paragraphs [1].Range.Text = "This is the first paragraph.";
WordDoc.Paragraphs.Add();
WordDoc.Paragraphs [1].Range.Text = "This is the first paragraph.";
WordDoc.Paragraphs.Add()
WordDoc.Paragraphs (1).Range.Text = "This is the first paragraph."
$vbLabelText   $csharpLabel

Die Methode Paragraphs.Add() fügt dem Word-Dokument einen neuen Absatz hinzu, und die Eigenschaft Range.Text weist ihm neuen Text zu.

IronWord verwenden

doc.AddText("Add text using IronWord");
doc.AddText("Add text using IronWord");
doc.AddText("Add text using IronWord")
$vbLabelText   $csharpLabel

Vorhandenen Text bearbeiten

Für dieses Tutorial ändern wir den ersten Absatz:

WordDoc.Paragraphs [1].Range.Text = "This is the edited first paragraph.";
WordDoc.Paragraphs [1].Range.Text = "This is the edited first paragraph.";
WordDoc.Paragraphs (1).Range.Text = "This is the edited first paragraph."
$vbLabelText   $csharpLabel

Sie können auch andere Elemente im Word-Dokument mit ähnlichen Methoden hinzufügen und bearbeiten.

IronWord verwenden

doc.Paragraphs [0].TextRuns [0].Text = "This is the edited first paragraph.";
doc.Paragraphs [0].TextRuns [0].Text = "This is the edited first paragraph.";
doc.Paragraphs (0).TextRuns (0).Text = "This is the edited first paragraph."
$vbLabelText   $csharpLabel

Speichern und Schließen des Dokuments

Sobald Sie die gewünschten Änderungen vorgenommen haben:

WordDoc.SaveAs(@"path_where_you_want_to_save.docx");
WordDoc.Close();
WordApp.Quit();
WordDoc.SaveAs(@"path_where_you_want_to_save.docx");
WordDoc.Close();
WordApp.Quit();
WordDoc.SaveAs("path_where_you_want_to_save.docx")
WordDoc.Close()
WordApp.Quit()
$vbLabelText   $csharpLabel

Ersetzen Sie path_where_you_want_to_save.docx durch Ihren gewünschten Pfad.

IronWord verwenden

doc.SaveAs(@"path_where_you_want_to_save.docx");
doc.SaveAs(@"path_where_you_want_to_save.docx");
doc.SaveAs("path_where_you_want_to_save.docx")
$vbLabelText   $csharpLabel

Vollständiger Code und Beispiel

Fassen wir das alles zusammen. Hier finden Sie ein vollständiges Codebeispiel, das zeigt, wie Sie ein vorhandenes Word-Dokument öffnen, bearbeiten und die Änderungen speichern:

var WordApp = new Microsoft.Office.Interop.Word.Application();

// Create a new Word document
var WordDoc = WordApp.Documents.Add();

// Add new text
WordDoc.Paragraphs.Add();
WordDoc.Paragraphs [1].Range.Text = "This is the first paragraph.";

// Edit the first paragraph
WordDoc.Paragraphs [1].Range.Text = "This is the edited first paragraph.";

// Save and close
WordDoc.SaveAs(@"path_where_you_want_to_save.docx");
WordDoc.Close();
WordApp.Quit();
var WordApp = new Microsoft.Office.Interop.Word.Application();

// Create a new Word document
var WordDoc = WordApp.Documents.Add();

// Add new text
WordDoc.Paragraphs.Add();
WordDoc.Paragraphs [1].Range.Text = "This is the first paragraph.";

// Edit the first paragraph
WordDoc.Paragraphs [1].Range.Text = "This is the edited first paragraph.";

// Save and close
WordDoc.SaveAs(@"path_where_you_want_to_save.docx");
WordDoc.Close();
WordApp.Quit();
Dim WordApp = New Microsoft.Office.Interop.Word.Application()

' Create a new Word document
Dim WordDoc = WordApp.Documents.Add()

' Add new text
WordDoc.Paragraphs.Add()
WordDoc.Paragraphs (1).Range.Text = "This is the first paragraph."

' Edit the first paragraph
WordDoc.Paragraphs (1).Range.Text = "This is the edited first paragraph."

' Save and close
WordDoc.SaveAs("path_where_you_want_to_save.docx")
WordDoc.Close()
WordApp.Quit()
$vbLabelText   $csharpLabel

IronWord verwenden

Das vollständige Codebeispiel im Vergleich zu MS Word. IronWord verwendet prägnante Codeschnipsel zur Bearbeitung von DOCX-Dateien.

// Create an empty Word document
WordDocument doc = new WordDocument();

// Add new text
doc.AddText("This is the first paragraph.");

// Edit text
doc.Paragraphs [0].TextRuns [0].Text = "This is the edited first paragraph.";

// Export docx
doc.SaveAs(@"path_where_you_want_to_save.docx");
// Create an empty Word document
WordDocument doc = new WordDocument();

// Add new text
doc.AddText("This is the first paragraph.");

// Edit text
doc.Paragraphs [0].TextRuns [0].Text = "This is the edited first paragraph.";

// Export docx
doc.SaveAs(@"path_where_you_want_to_save.docx");
' Create an empty Word document
Dim doc As New WordDocument()

' Add new text
doc.AddText("This is the first paragraph.")

' Edit text
doc.Paragraphs (0).TextRuns (0).Text = "This is the edited first paragraph."

' Export docx
doc.SaveAs("path_where_you_want_to_save.docx")
$vbLabelText   $csharpLabel

Schlussfolgerung

Im Bereich der Bearbeitung von Word- und Excel-Dokumenten in .NET-Anwendungen gibt es eine Vielzahl von Möglichkeiten. Während die Interop-Dienste von Microsoft für viele die erste Wahl waren, bedeutet das Aufkommen von Lösungen wie IronWord eine Verlagerung hin zu effizienteren und benutzerfreundlicheren Tools.

Jordi Bardia
Software-Ingenieur
Jordi beherrscht vor allem Python, C# und C++. Wenn er seine Fähigkeiten bei Iron Software nicht einsetzt, programmiert er Spiele. Durch seine Mitverantwortung für Produkttests, Produktentwicklung und Forschung trägt Jordi wesentlich zur kontinuierlichen Produktverbesserung bei. Die vielseitigen Erfahrungen, die er sammelt, bieten ihm immer wieder neue Herausforderungen, und er sagt, dass dies einer seiner Lieblingsaspekte bei Iron Software ist. Jordi wuchs in Miami, Florida, auf und studierte Informatik und Statistik an der University of Florida.
< PREVIOUS
Wie man ein Word-Dokument in C# erstellt
NÄCHSTES >
Konvertieren von Word in PDF in C#

Sind Sie bereit, loszulegen? Version: 2025.3 gerade veröffentlicht

Lizenzen anzeigen >