Wie man Text in einem Word-Dokument mit C# ersetzt

This article was translated from English: Does it need improvement?
Translated
View the article in English

IronWord ermöglicht C#-Entwicklern das programmgesteuerte Suchen und Ersetzen von Text in Word-Dokumenten ohne Microsoft Office Interop und bietet eine Lösung für die Automatisierung von Dokumentaktualisierungen, die Personalisierung von Vorlagen und die Verwaltung von Masseninhalten.

Die Automatisierung der Textersetzung in Word-Dokumenten ist ein häufiges Bedürfnis, sei es bei der Personalisierung von Vorlagen, der Aktualisierung von Berichten oder der Verwaltung von Inhalten in großen Mengen. IronWord ist eine C#-Bibliothek, die diese Aufgabe erleichtert und alles von einfachen Suchen-und-Ersetzen-Operationen bis hin zu komplexen Dokumentenverarbeitungs-Workflows bewältigt.

IronWord bearbeitet Word-Dokumente direkt, ohne sich auf Microsoft Office Interop zu verlassen. Das bedeutet, dass Sie Word nicht auf Ihrem Server installieren müssen, was zu einer schnelleren, zuverlässigeren und skalierbaren Lösung für Back-End-Prozesse und Webanwendungen führt. Diese Unabhängigkeit von Microsoft Office macht IronWord besonders wertvoll für Cloud-Bereitstellungen, containerisierte Anwendungen und automatisierte Dokumentenverarbeitungspipelines.

In dieser Anleitung zeigen wir Ihnen anhand von umfassenden Codebeispielen, wie Sie Text in einem beliebigen Word-Dokument suchen und ersetzen können. Ganz gleich, ob Sie mit einfachen Textersetzungen arbeiten oder komplexe Dokumentstrukturen mit mehreren Absätzen und Formatierungen bewältigen müssen, IronWord bietet Ihnen die Werkzeuge, die Sie benötigen.

als-Überschrift:2(Schnellstart: Text in Word-Dokumenten einfach ersetzen)

In diesem Leitfaden wird gezeigt, wie man mit IronWord Text in einem Word-Dokument ersetzt. Mit nur wenigen Zeilen C# können Sie eine DOCX-Datei laden, den angegebenen Text ersetzen und das aktualisierte Dokument speichern. Dieser Prozess funktioniert ohne Microsoft Office Interop und ist daher ideal für Backend-Prozesse und Webanwendungen.

Nuget IconLegen Sie jetzt mit NuGet los, um PDFs zu erstellen:

  1. Installieren Sie IronWord mit dem NuGet-Paketmanager.

    PM > Install-Package IronWord

  2. Kopieren Sie diesen Codeausschnitt und führen Sie ihn aus.

    IronWord.Document doc = new IronWord.Document("sample.docx");
    doc.ReplaceText("oldText", "newText");
    doc.SaveAs("updated.docx");
  3. Bereitstellen zum Testen in Ihrer Live-Umgebung

    Beginnen Sie noch heute mit der Nutzung von IronWord in Ihrem Projekt – mit einer kostenlosen Testversion.
    arrow pointer

Wie kann ich Text in einem Word-Dokument ersetzen?

Das Ersetzen von Text in einem Word-Dokument ist intuitiv mit IronWord. Zunächst laden wir ein vorhandenes Dokument mit dem WordDocument-Konstruktor. Dann greifen wir auf die Eigenschaft Paragraphs zu und verwenden die Methode ReplaceText für einen bestimmten Absatz. Mit diesem Ansatz können Sie genau steuern, welche Teile Ihres Dokuments geändert werden sollen.

Die ReplaceText-Methode nimmt zwei Zeichenfolgenparameter: den zu findenden Text und den Text, durch den er ersetzt werden soll. Diese Methode führt eine vollständige Ersetzung aller übereinstimmenden Instanzen innerhalb des ausgewählten Absatzes durch und eignet sich daher perfekt für Szenarien wie die Aktualisierung von Produktnamen, die Änderung von Daten oder die Personalisierung von Kundeninformationen.

Tipps Die ReplaceText Methode unterscheidet zwischen Groß- und Kleinschreibung und ersetzt alle Vorkommen der Zeichenfolge innerhalb des ausgewählten Absatzes.

Bei der Arbeit mit der Sammlung Paragraphen ist es wichtig zu verstehen, wie IronWord den Inhalt von Dokumenten strukturiert. Jeder Absatz eines Word-Dokuments wird als einzelnes Element in der Sammlung dargestellt, so dass Sie bestimmte Abschnitte Ihres Dokuments präzise ansteuern können.

TippsAlle in diesem Beispiel verwendeten Objektlisten verwenden eine nullbasierte Indizierung.

Wie sieht das Eingabedokument aus?

In diesem Beispiel verwenden wir dieses Muster-Word-Dokument, das zwei Absätze enthält, beide mit dem Text "alter Text". Diese einfache Struktur demonstriert, wie die Textersetzung auf Absatzebene funktioniert.

Word-Musterdokument, das den Inhalt des 'alten Textes' vor der Ersetzung zeigt

Wie schreibe ich den Ersetzungscode?

Hier ist der Code, um den "alten Text" des ersten Absatzes durch den "neuen Text" zu ersetzen. Beachten Sie, wie wir die Indexnotation verwenden, um bestimmte Absätze zu markieren, wodurch wir genau steuern können, welche Inhalte geändert werden:

:path=/static-assets/word/content-code-examples/how-to/replace-words.cs
using IronWord;

// Open existing Word
WordDocument doc = new WordDocument("sample.docx");

// Replace the first paragraph's old text with new text
doc.Paragraphs[0].ReplaceText("old text", "new text");

// Save updated Word Document
doc.SaveAs("updated.docx");
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Der obige Code zeigt, wie einfach die Textersetzung mit IronWord ist. Durch das Laden des Dokuments, das Auswählen eines bestimmten Absatzes und den Aufruf von ReplaceText können Sie den Inhalt des Dokuments mit nur wenigen Codezeilen ändern. Dieser Ansatz ist unkomplizierter als die traditionellen Office-Interop-Methoden.

Wie sieht die Ausgabe aus?

Word-Dokumentausgabe, die den 'neuen Text' im ersten Absatz und den 'alten Text' im zweiten Absatz nach dem Ersetzungsvorgang zeigt

Wie Sie in der Ausgabedatei sehen können, wurde nur der Text des ersten Absatzes geändert, während der zweite unverändert bleibt. Diese Fähigkeit zur selektiven Ersetzung ist entscheidend, wenn Sie bestimmte Abschnitte aktualisieren müssen, ohne das gesamte Dokument zu verändern.

Wie ersetze ich mehrfach vorkommenden Text?

Um jedes Vorkommen eines Wortes im gesamten Dokument zu ersetzen, durchlaufen Sie die Sammlung Paragraphen und wenden Sie die Methode ReplaceText auf jeden einzelnen an. Dieser Ansatz stellt sicher, dass keine Stelle des Zieltextes ausgelassen wird, unabhängig davon, wo er im Dokument erscheint.

Wir verwenden dieselbe Datei sample.docx wie zuvor. Wenn der zu ersetzende Text in einem Absatz nicht gefunden wird, wird keine Operation durchgeführt und die Schleife wird mit dem nächsten Absatz fortgesetzt. Dieses ausfallsichere Verhalten bedeutet, dass Sie sich keine Gedanken darüber machen müssen, ob der Text existiert, bevor Sie versuchen, ihn zu ersetzen.

Hinweis: Wenn der zu ersetzende Text nicht gefunden wird, werden keine Operationen ausgeführt.

Welchen Code benötige ich für Mehrfachersetzungen?

Hier ist der Code, um alle Vorkommen von "alter Text" durch "neuer Text" im gesamten Dokument zu ersetzen:

:path=/static-assets/word/content-code-examples/how-to/replace-words-multiple.cs
using IronWord;

// Open existing Word
WordDocument doc = new WordDocument("sample.docx");

// Loop through each paragraph to find and replace text
for (int i = 0; i < doc.Paragraphs.Count; i++)
{
    // Replace all occurrences of "old text" with "new text" in the current paragraph
    doc.Paragraphs[i].ReplaceText("old text", "new text");
}

// Save updated Word Document
doc.SaveAs("updated.docx");
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Dieser Ansatz mit Schleifen bietet eine vollständige Abdeckung Ihres Dokuments. Indem Sie jeden Absatz durchgehen, stellen Sie sicher, dass alle Instanzen des Zieltextes ersetzt werden. Diese Methode ist besonders nützlich für Massenaktualisierungen, wie z. B. die Änderung von Firmennamen, die Aktualisierung von Terminologie oder die Anwendung einer einheitlichen Formatierung in einem Dokument.

Wie wird das Dokument nach mehreren Ersetzungen aussehen?

Die Ausgabe eines Word-Dokuments zeigt zwei Zeilen 'neuen Text' nach einer mehrfachen Textersetzung

Wie Sie in diesem aktualisierten Word-Dokument sehen können, wurden beide Absätze durch "neuen Text" ersetzt. Dies demonstriert die Effektivität des Loop-Ansatzes für eine umfassende Textersetzung.

Wie kann ich das Vorhandensein von Text vor dem Ersetzen überprüfen?

Wenn Sie vor der Durchführung einer Operation überprüfen müssen, ob Text vorhanden ist, verwenden Sie die Methode FindText. Diese Methode durchsucht das gesamte Dokument und gibt das erste TextElement zurück, das die Suchanfrage erfüllt. Dieser Überprüfungsschritt kann nützlich sein, wenn Sie das Vorhandensein eines bestimmten Inhalts bestätigen müssen, bevor Sie Änderungen vornehmen, oder wenn Sie eine bedingte Logik auf der Grundlage des Dokumentinhalts erstellen.

Die Methode FindText ist besonders wertvoll in Szenarien, in denen:

  • Sie müssen protokollieren, welche Dokumente bestimmten Text enthalten
  • Je nachdem, ob der Text gefunden wird, sollen unterschiedliche Aktionen ausgeführt werden
  • Sie bauen ein System zur Dokumentenvalidierung
  • Sie müssen Berichte über den Inhalt der Dokumente erstellen

Unten ist ein Beispiel für die Suche nach dem alten Text in dem oben erwähnten Word-Dokument.

Welchen Code verwende ich, um Text zu finden?

:path=/static-assets/word/content-code-examples/how-to/replace-words-find-text.cs
using IronWord;
using System;

// Open existing Word
WordDocument doc = new WordDocument("sample.docx");

// Returns the first TextContent element that contains the specified text.
Console.WriteLine(doc.FindText("old text"));
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Dieser Code demonstriert die Einfachheit der Textsuche mit IronWord. Die FindText-Methode gibt ein TextElement-Objekt zurück, wenn der Text gefunden wird, oder null, wenn er nicht gefunden wird, was die Implementierung einer bedingten Logik auf der Grundlage der Suchergebnisse erleichtert.

Was zeigt das Ergebnis der Textsuche an?

Visual Studio Debug Konsole zeigt 'old_text' Ausgabe von FindText Operation

Wie Sie sehen können, wurde der übereinstimmende Text zurückgegeben, was bestätigt, dass der Suchbegriff in dem Dokument vorhanden ist. Diese Überprüfungsfunktion ist für den Aufbau robuster Anwendungen zur Dokumentenverarbeitung, die verschiedene Inhaltsszenarien verarbeiten müssen, unerlässlich.

Warnung Wenn FindText nichts zurückgibt, existiert der Text nicht im Dokument. Stellen Sie sicher, dass Ihr Suchbegriff korrekt geschrieben ist und der Groß-/Kleinschreibung des Textes im Dokument entspricht.

Best Practices für Textersetzungen

Beachten Sie bei der Arbeit mit Textersetzungen in Word-Dokumenten die folgenden bewährten Verfahren:

  1. Groß- und Kleinschreibung: ReplaceText unterscheidet zwischen Groß- und Kleinschreibung. Konvertieren Sie den Text in konsistente Groß- und Kleinschreibung, um die Groß- und Kleinschreibung zu ignorieren.

  2. Leistungsoptimierung: Ersetzungen stapeln und einmal speichern, um E/A-Vorgänge zu reduzieren und die Leistung zu verbessern.

  3. Fehlerbehandlung: Implementierung einer Fehlerbehandlung für gesperrte, beschädigte oder unerwartete Dokumentinhalte.

  4. Backup-Strategie: Erstellen Sie Backups, bevor Sie größere Ersetzungen vornehmen, insbesondere in Produktionsumgebungen.

  5. Speichermanagement: Ordnungsgemäße Entsorgung von Dokumentenobjekten bei der Verarbeitung mehrerer Dokumente, um Speicherlecks zu vermeiden.

Die unkomplizierte API von IronWord macht die Implementierung dieser Best Practices einfach und ermöglicht es Ihnen, zuverlässige Lösungen für die Dokumentenverarbeitung zu entwickeln.

Häufig gestellte Fragen

Wie kann ich mit C# Text in einem Word-Dokument ersetzen?

IronWord macht es einfach, Text in Word-Dokumenten durch C# zu ersetzen. Laden Sie Ihr Dokument mit dem WordDocument-Konstruktor und verwenden Sie dann die ReplaceText-Methode, um Text zu suchen und zu ersetzen. Die Methode benötigt zwei Parameter: den zu suchenden Text und den Ersatztext. Diese Methode funktioniert ohne Microsoft Office Interop, was sie ideal für serverseitige Anwendungen macht.

Kann ich Text ersetzen, ohne dass Microsoft Office installiert ist?

Ja, IronWord kann Word-Dokumente direkt bearbeiten, ohne dass Microsoft Office Interop erforderlich ist. Das bedeutet, dass Sie Word nicht auf Ihrem Server installieren müssen, was zu einer schnelleren und zuverlässigeren Lösung führt, die sich perfekt für Cloud-Bereitstellungen, containerisierte Anwendungen und automatisierte Dokumentenverarbeitungs-Pipelines eignet.

Wie kann man am einfachsten Text in einer DOCX-Datei suchen und ersetzen?

Am schnellsten geht das mit dem Drei-Zeilen-Ansatz von IronWord: Erstellen Sie ein Document-Objekt mit Ihrem Dateipfad, rufen Sie die ReplaceText-Methode mit Ihrem alten und neuen Text auf und speichern Sie dann mit SaveAs. Dieser minimale Arbeitsablauf umfasst alle Schritte vom Laden bis zum Speichern des aktualisierten Dokuments.

Wird bei der Textersetzung zwischen Groß- und Kleinschreibung unterschieden?

Ja, bei der ReplaceText-Methode in IronWord wird standardmäßig die Groß- und Kleinschreibung beachtet. Sie ersetzt alle übereinstimmenden Instanzen innerhalb des ausgewählten Absatzes oder Dokuments und gewährleistet so eine genaue Kontrolle darüber, welcher Text auf der Grundlage einer exakten Groß-/Kleinschreibung ersetzt wird.

Kann ich nur Text in bestimmten Absätzen ersetzen?

Unbedingt. IronWord bietet eine fein abgestufte Steuerung über die Eigenschaft Paragraphs. Sie können auf einzelne Absätze aus der Sammlung zugreifen und ReplaceText nur für bestimmte Absätze aufrufen, um gezielte Ersetzungen anstelle von dokumentweiten Änderungen zu ermöglichen.

Was sind häufige Anwendungsfälle für programmatische Textersetzung?

IronWord wird häufig für die Personalisierung von Vorlagen, die Aktualisierung von Berichten, die Verwaltung von Masseninhalten und die Automatisierung von Dokumentaktualisierungen verwendet. Es ist besonders nützlich für Szenarien wie die Aktualisierung von Produktnamen, die Änderung von Daten, die Personalisierung von Kundeninformationen oder jede Situation, die eine automatisierte Dokumentenverarbeitung erfordert.

Curtis Chau
Technischer Autor

Curtis Chau hat einen Bachelor-Abschluss in Informatik von der Carleton University und ist spezialisiert auf Frontend-Entwicklung mit Expertise in Node.js, TypeScript, JavaScript und React. Leidenschaftlich widmet er sich der Erstellung intuitiver und ästhetisch ansprechender Benutzerschnittstellen und arbeitet gerne mit modernen Frameworks sowie der Erstellung gut strukturierter, optisch ansprechender ...

Weiterlesen
Bereit anzufangen?
Nuget Downloads 28,054 | Version: 2025.12 gerade veröffentlicht