Test in einer Live-Umgebung
Test in der Produktion ohne Wasserzeichen.
Funktioniert überall, wo Sie es brauchen.
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.
Bevor Sie die Umgebung einrichten und mit dem Code beginnen, sollten Sie sicherstellen, dass Sie die folgenden Voraussetzungen erfüllen:
Visuelles Studio: Stellen Sie sicher, dass Sie über Visual Studio auf Ihrem Rechner installiert. Falls nicht, laden Sie es von der offiziellen Microsoft-Website herunter und installieren Sie es.
Microsoft Word: Da wir Microsoft Interop verwenden, sollten Sie über MS Word auf Ihrem Computer installiert. Der Interop-Dienst bildet eine Schnittstelle zu der auf Ihrem Computer installierten Microsoft Word-Anwendung.
Grundkenntnisse in C# Grundlegende Kenntnisse in C#
Öffnen Sie zunächst die Anwendung Visual Studio. Nach dem Öffnen werden Sie mit einem Willkommensbildschirm begrüßt.
Klicken Sie auf "Ein neues Projekt erstellen".
Tippen Sie "Console App (.NET-Framework)" in das Suchfeld ein.
Wählen Sie aus den Ergebnissen "Console App (.NET-Framework)" und klicken Sie auf die Schaltfläche "Weiter".
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 Datei Program.cs finden Sie eine Basisvorlage mit einer "Main"-Methode, die den Einstiegspunkt für Konsolenanwendungen darstellt.
NuGet ist ein Paketmanager für .NET, der in Visual Studio integriert ist. So können Sie das Paket Microsoft.Office.Interop.Word
installieren:
Gehen Sie in Visual Studio in das Menü "Werkzeuge".
Wählen Sie "NuGet Package Manager" und dann "Manage NuGet Packages for Solution...".
Klicken Sie im NuGet-Fenster auf die Registerkarte "Durchsuchen".
Geben Sie in das Suchfeld Microsoft.Office.Interop.Word
ein und drücken Sie die Eingabetaste.
Wählen Sie aus den Suchergebnissen das Paket Microsoft.Office.Interop.Word
.
Vergewissern Sie sich auf der rechten Seite, dass Ihr Konsolenanwendungsprojekt markiert ist, und klicken Sie dann auf die Schaltfläche "Installieren".
Visual Studio installiert nun das Paket und fügt einen Verweis darauf in Ihrem Projekt hinzu. Dieses Paket enthält die notwendigen Assemblies und Tools, um von Ihrer C#-Anwendung aus mit MS Word zu interagieren.
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. Zur Vereinfachung des Vergleichs stelle ich IronWord-Codeausschnitte für jeden Anwendungsfall nach MS Word zur Verfügung, unter Verwendung der IronWord-Version 2024.1.2.
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")
Ersetzen Sie im obigen Code Pfad_zu_Ihr_Dokument.docx durch den Pfad zu Ihrer Docx-Datei.
Ö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")
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()
Dieses Code-Snippet erstellt ein neues Word-Dokument, das Sie mit C# schreiben und bearbeiten können.
WordDocument doc = new WordDocument();
WordDocument doc = new WordDocument();
Dim doc As New WordDocument()
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."
Die Funktion `Paragraphen.Hinzufügen()methode fügt dem Word-Dokument einen neuen Absatz hinzu, und die Eigenschaft "Range.Text" weist ihm einen neuen Text zu.
doc.AddText("Add text using IronWord");
doc.AddText("Add text using IronWord");
doc.AddText("Add text using IronWord")
Für dieses Lernprogramm ä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."
Sie können auch andere Elemente im Word-Dokument mit ähnlichen Methoden hinzufügen und bearbeiten.
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."
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()
Ersetzen Sie Pfad_where_you_want_to_save.docx durch Ihren gewünschten Pfad.
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")
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()
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")
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.
9 .NET API-Produkte für Ihre Bürodokumente