Zum Fußzeileninhalt springen
IRONWORD VERWENDEN

Wie man ein Word-Dokument mit einer Word-Vorlage in C# erstellt

In modernen Anwendungen ist es entscheidend, Word-Dokumente sofort für verschiedene Zwecke wie Abrechnungen, Rechnungen, Briefe usw. zu erstellen. Die Microsoft Word-Vorlagendokumentfunktion bietet eine leistungsstarke Möglichkeit, Konsistenz und Effizienz zu gewährleisten. Die manuelle Befüllung dieser Vorlagen kann jedoch zeitaufwändig und fehleranfällig sein. That’s where IronWord from Iron Software comes in—a robust .NET library designed to automate the process of filling Word templates programmatically. In diesem Artikel führen wir Sie durch die Verwendung von IronWord, um eine Word-Dokumentvorlage auszufüllen, und bieten ein praxisnahes Beispiel zur Veranschaulichung des Prozesses.

Wie man ein Word-Dokument mit einer Word-Vorlage in C# erstellt

  1. Erstellen Sie ein neues Projekt in Microsoft Visual Studio.
  2. Installieren Sie IronWord über den NuGet-Paketmanager.
  3. Erstellen Sie ein Word-Vorlagendokument.
  4. Fügen Sie Daten in ein Word-Dokument ein und speichern Sie es als neue Datei.
  5. Fügen Sie dem erstellten Word-Dokument Texteffekte hinzu.

Was ist IronWord?

IronWord is a .NET library from Iron Software, die entwickelt wurde, um die Erstellung, Manipulation und Verwaltung von Microsoft Word-Dokumenten programmgesteuert zu erleichtern. Sie ermöglicht es Entwicklern, den Prozess der Erstellung von Word-Dokumenten zu automatisieren, was es einfacher macht, dynamisch Berichte, Rechnungen, Briefe und andere Dokumenttypen innerhalb ihrer Anwendungen zu erstellen.

Hauptmerkmale von IronWord

1. C# Word-Vorlage ausfüllen und Handling

IronWord ermöglicht die Verwendung von Word-Vorlagen, um Platzhalter in einem Vorlagendokument zu definieren und sie zur Laufzeit durch tatsächliche Daten zu ersetzen.

2. Textmanipulation

Sie können Text in einem Word-Dokument einfach einfügen, ersetzen oder löschen.

3. Formatierung

Die Bibliothek unterstützt verschiedene Formatierungsoptionen, darunter Schriftartenstile, Größen, Farben und Absatzausrichtung.

4. Tabellen und Bilder

IronWord ermöglicht es Ihnen, Tabellen und Bilder in Ihren Dokumenten einzufügen und zu bearbeiten.

5. Kompatibilität

Es funktioniert nahtlos mit verschiedenen Versionen von Microsoft Word und gewährleistet Kompatibilität und Benutzerfreundlichkeit.

Anwendungsfälle

  • Berichtserstellung: Automatisch detaillierte Berichte mit dynamischen Daten generieren.
  • Rechnungserstellung: Professionelle Rechnungen erstellen, indem Sie Kunden- und Transaktionsdetails ausfüllen.
  • Vertragsmanagement: Die Erstellung von Verträgen mit personalisierten Informationen automatisieren.
  • Briefe und Mitteilungen: Personalisierte Briefe und Mitteilungen für Kunden oder Mitarbeiter erstellen.

IronWord vereinfacht die Arbeit mit Word-Dokumenten in .NET-Anwendungen und ist ein wertvolles Werkzeug für Entwickler, die Dokumentenerstellung und -management automatisieren möchten.

Voraussetzungen

Ein kurzer Hinweis, um sicherzustellen, dass Sie Folgendes vor Beginn haben:

  • Visual Studio ist auf Ihrem Computer installiert.
  • Das neueste .NET Framework ist installiert.

Schritt 1: Erstellen Sie ein neues Projekt in Microsoft Visual Studio.

Nun beginnen wir mit dem Erstellen eines neuen Visual Studio-Projekts.

Wie man ein Word-Dokument mit einer Word-Vorlage in C# erstellt: Abbildung 1

Wählen Sie die Konsolenanwendungsvorlage auf dem untenstehenden Bildschirm aus.

Wie man ein Word-Dokument mit einer Word-Vorlage in C# erstellt: Abbildung 2 - Wählen Sie die Konsolen-App aus

Geben Sie den Projektnamen und den Speicherort an.

Wie man ein Word-Dokument mit einer Word-Vorlage in C# erstellt: Abbildung 3 - Namen und Speicherort angeben

Wählen Sie die .NET-Version, vorzugsweise die neueste mit Unterstützung, und klicken Sie auf Erstellen.

Wie man ein Word-Dokument mit einer Word-Vorlage in C# erstellt: Abbildung 4

Schritt 2: IronWord NuGet-Paketmanager installieren.

Installieren Sie das IronWord NuGet-Paket aus dem NuGet-Paketmanager wie unten in Visual Studio gezeigt.

Wie man ein Word-Dokument mit einer Word-Vorlage in C# erstellt: Abbildung 5 - Suchen Sie nach IronWord im NuGet-Paketmanager

Alternativ installieren Sie es bitte direkt über die CLI mit dem untenstehenden Befehl.

dotnet add package IronWord --version 2024.9.1
dotnet add package IronWord --version 2024.9.1
SHELL

Schritt 3: Ein Word-Vorlagendokument erstellen.

Erstellen Sie jetzt ein Word-Vorlagendokument mit einer oder zwei Seiten, das während des Word-Dokument-Erstellungsprozesses verwendet werden soll.

Dear {Name},

Thanks for purchasing {product}. We are happy to serve you always. Your application dated {Date} has been approved. The product comes with an expiry date of {expiryDate}. Renew the product on or before the expiry date.

Feel free to contact {phone} or {email} for further queries.

Address: {Address}

Thank you,

{Sender}

Speichern Sie das obenstehende Dokument nun als Template.docx.

Schritt 4: Einfügen von Daten in ein Word-Dokument und speichern als neue Datei.

using System;
using System.Collections.Generic;
using IronWord;

class Program
{
    static void Main()
    {
        // Set the license key for IronWord
        License.LicenseKey = "your key";

        // Define paths for the template and the output file
        string templatePath = "Template.docx";
        string outputPath = "FilledDocument.docx";

        // Create a new instance of the WordDocument class using the template path
        WordDocument doc = new WordDocument(templatePath);

        // Define a dictionary of placeholders and their replacements
        var replacements = new Dictionary<string, string>
        {
            { "{Name}", "John Doe" },
            { "{Date}", DateTime.Now.ToString("MMMM d, yyyy") },
            { "{Address}", "123 Iron Street, Iron Software" },
            { "{product}", "IronWord" },
            { "{Sender}", "IronSoftware" },
            { "{phone}", "+123 456789" },
            { "{email}", "sale@ironsoftware.com" },
            { "{expiryDate}", DateTime.Now.AddYears(1).ToString("MMMM d, yyyy") },
        };

        // Replace placeholders in the document with actual data
        foreach (var replacement in replacements)
        {
            doc.Texts.ForEach(x => x.Replace(replacement.Key, replacement.Value));
        }

        // Save the filled document
        doc.Save(outputPath);

        // Notify the user that the document has been saved successfully
        Console.WriteLine("Document filled and saved successfully.");
    }
}
using System;
using System.Collections.Generic;
using IronWord;

class Program
{
    static void Main()
    {
        // Set the license key for IronWord
        License.LicenseKey = "your key";

        // Define paths for the template and the output file
        string templatePath = "Template.docx";
        string outputPath = "FilledDocument.docx";

        // Create a new instance of the WordDocument class using the template path
        WordDocument doc = new WordDocument(templatePath);

        // Define a dictionary of placeholders and their replacements
        var replacements = new Dictionary<string, string>
        {
            { "{Name}", "John Doe" },
            { "{Date}", DateTime.Now.ToString("MMMM d, yyyy") },
            { "{Address}", "123 Iron Street, Iron Software" },
            { "{product}", "IronWord" },
            { "{Sender}", "IronSoftware" },
            { "{phone}", "+123 456789" },
            { "{email}", "sale@ironsoftware.com" },
            { "{expiryDate}", DateTime.Now.AddYears(1).ToString("MMMM d, yyyy") },
        };

        // Replace placeholders in the document with actual data
        foreach (var replacement in replacements)
        {
            doc.Texts.ForEach(x => x.Replace(replacement.Key, replacement.Value));
        }

        // Save the filled document
        doc.Save(outputPath);

        // Notify the user that the document has been saved successfully
        Console.WriteLine("Document filled and saved successfully.");
    }
}
Imports System
Imports System.Collections.Generic
Imports IronWord

Friend Class Program
	Shared Sub Main()
		' Set the license key for IronWord
		License.LicenseKey = "your key"

		' Define paths for the template and the output file
		Dim templatePath As String = "Template.docx"
		Dim outputPath As String = "FilledDocument.docx"

		' Create a new instance of the WordDocument class using the template path
		Dim doc As New WordDocument(templatePath)

		' Define a dictionary of placeholders and their replacements
		Dim replacements = New Dictionary(Of String, String) From {
			{"{Name}", "John Doe"},
			{"{Date}", DateTime.Now.ToString("MMMM d, yyyy")},
			{"{Address}", "123 Iron Street, Iron Software"},
			{"{product}", "IronWord"},
			{"{Sender}", "IronSoftware"},
			{"{phone}", "+123 456789"},
			{"{email}", "sale@ironsoftware.com"},
			{"{expiryDate}", DateTime.Now.AddYears(1).ToString("MMMM d, yyyy")}
		}

		' Replace placeholders in the document with actual data
		For Each replacement In replacements
			doc.Texts.ForEach(Function(x) x.Replace(replacement.Key, replacement.Value))
		Next replacement

		' Save the filled document
		doc.Save(outputPath)

		' Notify the user that the document has been saved successfully
		Console.WriteLine("Document filled and saved successfully.")
	End Sub
End Class
$vbLabelText   $csharpLabel

Erklärung

Der bereitgestellte Code demonstriert die Verwendung der IronWord-Bibliothek, um eine Word-Dokumentvorlage mit spezifischen Daten zu füllen. Hier ist eine kurze Erklärung:

  1. Lizenzsetup: Der Code beginnt damit, den Lizenzschlüssel für IronWord zu setzen, um dessen Funktionalität zu aktivieren.
  2. Dateipfade: Es werden die Pfade für die Word-Vorlage (Template.docx) und die Ausgabedatei (FilledDocument.docx) angegeben.
  3. Dokumentinstanz erstellen: Eine Instanz von WordDocument wird unter Verwendung des Vorlagenpfads erstellt.
  4. Ersatzwerte definieren: Ein Wörterbuch wird erstellt, in dem Schlüssel Platzhalter in der Vorlage darstellen und Werte die einzufügenden Daten darstellen.
  5. Platzhalter ersetzen: Es wird durch das Wörterbuch iteriert und jeder Platzhalter im Dokument durch die entsprechenden Daten ersetzt.
  6. Dokument speichern: Schließlich wird das aktualisierte Dokument in dem angegebenen Ausgabepfad gespeichert.
  7. Abschlussmeldung: Es wird eine Meldung gedruckt, um zu bestätigen, dass das Dokument erfolgreich gefüllt und gespeichert wurde.

Ausgabe

Wie man ein Word-Dokument mit einer Word-Vorlage in C# erstellt: Abbildung 7 - Word-Dokumentausgabe

Schritt 5: Texteffekte zum erstellten Word-Dokument hinzufügen.

IronWord ermöglicht es auch, verschiedene Texteffekte hinzuzufügen, wie in der folgenden Tabelle gezeigt.

Im folgenden Beispiel fügen wir dem Wort 'IronSoftware' Texteffekte hinzu.

using System;
using System.Collections.Generic;
using IronWord;
using IronWord.Models;

class Program
{
    static void Main()
    {
        // Set the license key for IronWord
        License.LicenseKey = "your key";

        // Define paths for the template and the output file
        string templatePath = "Template.docx";
        string outputPath = "glowEffect.docx";

        // Create a new instance of the WordDocument class
        WordDocument doc = new WordDocument(templatePath);

        // Define a dictionary of placeholders and their replacements
        var replacements = new Dictionary<string, string>
        {
            { "{Name}", "John Doe" },
            { "{Date}", DateTime.Now.ToString("MMMM d, yyyy") },
            { "{Address}", "123 Iron Street, Iron Software" },
            { "{product}", "IronWord" },
            { "{Sender}", "Sale," },
            { "{phone}", "+123 456789" },
            { "{email}", "sale@ironsoftware.com" },
            { "{expiryDate}", DateTime.Now.AddYears(1).ToString("MMMM d, yyyy") },
        };

        // Replace placeholders in the document with actual data
        foreach (var replacement in replacements)
        {
            doc.Texts.ForEach(x => x.Replace(replacement.Key, replacement.Value));
        }

        // Create and configure text style methods with a glow effect
        TextStyle textStyle = new TextStyle
        {
            TextEffect = new TextEffect()
            {
                GlowEffect = new Glow()
                {
                    GlowColor = IronWord.Models.Color.Aqua,
                    GlowRadius = 10,
                },
            }
        };

        // Add styled text to the document
        doc.AddText(" IronSoftware").Style = textStyle;

        // Save the document with the glow effect
        doc.SaveAs(outputPath);

        // Notify the user that the document has been saved successfully
        Console.WriteLine("Styled document saved successfully.");
    }
}
using System;
using System.Collections.Generic;
using IronWord;
using IronWord.Models;

class Program
{
    static void Main()
    {
        // Set the license key for IronWord
        License.LicenseKey = "your key";

        // Define paths for the template and the output file
        string templatePath = "Template.docx";
        string outputPath = "glowEffect.docx";

        // Create a new instance of the WordDocument class
        WordDocument doc = new WordDocument(templatePath);

        // Define a dictionary of placeholders and their replacements
        var replacements = new Dictionary<string, string>
        {
            { "{Name}", "John Doe" },
            { "{Date}", DateTime.Now.ToString("MMMM d, yyyy") },
            { "{Address}", "123 Iron Street, Iron Software" },
            { "{product}", "IronWord" },
            { "{Sender}", "Sale," },
            { "{phone}", "+123 456789" },
            { "{email}", "sale@ironsoftware.com" },
            { "{expiryDate}", DateTime.Now.AddYears(1).ToString("MMMM d, yyyy") },
        };

        // Replace placeholders in the document with actual data
        foreach (var replacement in replacements)
        {
            doc.Texts.ForEach(x => x.Replace(replacement.Key, replacement.Value));
        }

        // Create and configure text style methods with a glow effect
        TextStyle textStyle = new TextStyle
        {
            TextEffect = new TextEffect()
            {
                GlowEffect = new Glow()
                {
                    GlowColor = IronWord.Models.Color.Aqua,
                    GlowRadius = 10,
                },
            }
        };

        // Add styled text to the document
        doc.AddText(" IronSoftware").Style = textStyle;

        // Save the document with the glow effect
        doc.SaveAs(outputPath);

        // Notify the user that the document has been saved successfully
        Console.WriteLine("Styled document saved successfully.");
    }
}
Imports System
Imports System.Collections.Generic
Imports IronWord
Imports IronWord.Models

Friend Class Program
	Shared Sub Main()
		' Set the license key for IronWord
		License.LicenseKey = "your key"

		' Define paths for the template and the output file
		Dim templatePath As String = "Template.docx"
		Dim outputPath As String = "glowEffect.docx"

		' Create a new instance of the WordDocument class
		Dim doc As New WordDocument(templatePath)

		' Define a dictionary of placeholders and their replacements
		Dim replacements = New Dictionary(Of String, String) From {
			{"{Name}", "John Doe"},
			{"{Date}", DateTime.Now.ToString("MMMM d, yyyy")},
			{"{Address}", "123 Iron Street, Iron Software"},
			{"{product}", "IronWord"},
			{"{Sender}", "Sale,"},
			{"{phone}", "+123 456789"},
			{"{email}", "sale@ironsoftware.com"},
			{"{expiryDate}", DateTime.Now.AddYears(1).ToString("MMMM d, yyyy")}
		}

		' Replace placeholders in the document with actual data
		For Each replacement In replacements
			doc.Texts.ForEach(Function(x) x.Replace(replacement.Key, replacement.Value))
		Next replacement

		' Create and configure text style methods with a glow effect
		Dim textStyle As New TextStyle With {
			.TextEffect = New TextEffect() With {
				.GlowEffect = New Glow() With {
					.GlowColor = IronWord.Models.Color.Aqua,
					.GlowRadius = 10
				}
			}
		}

		' Add styled text to the document
		doc.AddText(" IronSoftware").Style = textStyle

		' Save the document with the glow effect
		doc.SaveAs(outputPath)

		' Notify the user that the document has been saved successfully
		Console.WriteLine("Styled document saved successfully.")
	End Sub
End Class
$vbLabelText   $csharpLabel

Erklärung

Der überarbeitete Code veranschaulicht die Verwendung der IronWord-Bibliothek zum Ausfüllen einer Word-Dokumentvorlage, zum Stilisieren von Text und zum Speichern des geänderten Dokuments. Hier ist eine kurze Erklärung:

  1. Lizenzsetup: Setzt den IronWord-Lizenzschlüssel, um die Funktionalität zu aktivieren.
  2. Dateipfade: Gibt die Pfade für die Vorlage (Template.docx) und die Ausgabedatei (glowEffect.docx) an.
  3. Dokumentinstanz erstellen: Initialisiert eine Instanz von WordDocument mithilfe des angegebenen Vorlagenpfads.
  4. Ersatzwerte definieren: Erstellt ein Wörterbuch mit Platzhaltern und den entsprechenden Ersatzwerten.
  5. Platzhalter ersetzen: Iteriert durch das Wörterbuch und ersetzt Platzhalter im Dokument durch tatsächliche Daten.
  6. Textstil konfigurieren: Definiert einen Textstil mit einem Leuchteffekt, der Farbe und Radius spezifiziert.
  7. Stilisierten Text hinzufügen: Fügt dem Dokument Text mit dem konfigurierten Stil hinzu.
  8. Dokument speichern: Speichert das aktualisierte Dokument unter einem neuen Namen (glowEffect.docx), der den angewandten Textstil widerspiegelt.
  9. Konsolenausgabe: Es wird eine Meldung gedruckt, um zu bestätigen, dass das stilisierte Dokument gespeichert wurde.

Ausgabe

Wie man ein Word-Dokument mit einer Word-Vorlage in C#: Abbildung 8 - Beispielhafte Word-Ausgabe

IronWord-Lizenzierung

IronWord. Sobald die Daten eingegeben sind, wird die Lizenz an die angegebene E-Mail-ID geliefert. Diese Lizenz muss am Anfang des Codes platziert werden, bevor die IronWord Bibliothek verwendet wird, wie unten gezeigt.

License.LicenseKey = "your Key Here";
License.LicenseKey = "your Key Here";
License.LicenseKey = "your Key Here"
$vbLabelText   $csharpLabel

Abschluss

IronWord bietet mehrere Vorteile bei der Erstellung von Word-Dokumenten mit Vorlagen. Es vereinfacht die Dokumentenerstellungsautomatisierung, indem es Entwicklern ermöglicht, Vorlagen programmgesteuert mit spezifischen Daten auszufüllen und so die Notwendigkeit manueller Eingaben reduziert. Dies erhöht die Effizienz und Genauigkeit, da das Risiko menschlicher Fehler minimiert wird. Darüber hinaus hilft IronWord, Konsistenz über Dokumente hinweg aufrechtzuerhalten, um sicherzustellen, dass jede erstellte Datei dem gleichen Format und der gleichen Struktur entspricht. Die Automatisierung sich wiederholender Aufgaben spart Zeit und Ressourcen, was es ideal macht, um schnell große Mengen an Dokumenten zu produzieren. IronWord steigert die Produktivität und optimiert Arbeitsabläufe in Szenarien, die eine häufige oder komplexe Dokumentenerstellung erfordern.

Indem Sie die in diesem Artikel beschriebenen Schritte befolgen und das bereitgestellte Beispiel mit IronWord nutzen, können Sie Ihre Dokumentenerstellungsanforderungen effizient verwalten und Ihren Arbeitsablauf optimieren.

Häufig gestellte Fragen

Wie kann ich eine Word-Dokumentvorlage mit C# ausfüllen?

Sie können eine Word-Dokumentvorlage mit C# ausfüllen, indem Sie IronWord verwenden. Richten Sie zunächst Ihr Projekt in Visual Studio ein und installieren Sie das IronWord-Paket über NuGet. Erstellen Sie eine Word-Vorlage und verwenden Sie IronWord, um Daten einzufügen, und speichern Sie dann die ausgefüllte Vorlage als neues Dokument.

Welche Vorteile bietet die Verwendung einer .NET-Bibliothek zur Word-Vorlagenautomatisierung?

Die Verwendung einer .NET-Bibliothek wie IronWord zur Word-Vorlagenautomatisierung reduziert manuelle Eingaben, minimiert Fehler und sorgt für Konsistenz bei der Dokumerstellung. Sie ermöglicht eine effiziente Durchführung von Aufgaben wie Rechnungsstellung, Fakturierung und Briefschreibung.

Kann ich bei der programmgesteuerten Ausfüllung einer Word-Vorlage Texteffekte hinzufügen?

Ja, mit IronWord können Sie Texteffekte wie Glanz oder Schatten auf den Text in Ihren Word-Dokumenten anwenden, wenn Sie Vorlagen programmgesteuert ausfüllen.

Welche Schritte sind erforderlich, um IronWord in einem Visual Studio-Projekt einzurichten?

Um IronWord in einem Visual Studio-Projekt einzurichten, installieren Sie zunächst das IronWord NuGet-Paket, erstellen Sie Ihre Word-Vorlage und verwenden Sie dann die Methoden von IronWord, um das Dokument programmgesteuert auszufüllen und zu speichern.

Wie sorgt IronWord für Konsistenz bei der Dokumerstellung?

IronWord sorgt für Konsistenz, indem es Entwicklern ermöglicht, Word-Vorlagen zu verwenden, die das gleiche Format und Layout über mehrere Dokumente hinweg beibehalten, wodurch das Risiko menschlicher Fehler reduziert wird.

Was sind einige praktische Anwendungen der Automatisierung der Erstellung von Word-Dokumenten?

Die Automatisierung der Erstellung von Word-Dokumenten mit IronWord kann in verschiedenen Szenarien angewendet werden, darunter Berichtserstellung, Rechnungserstellung, Vertragsverwaltung und die Erstellung personalisierter Briefe.

Ist es möglich, verschiedene Versionen von Microsoft Word mit IronWord zu handhaben?

Ja, IronWord ist mit verschiedenen Versionen von Microsoft Word kompatibel, was eine nahtlose Handhabung von Dokumenten in unterschiedlichen Umgebungen ermöglicht.

Was ist erforderlich, um IronWord für das Dokumentenmanagement zu verwenden?

Um IronWord zu verwenden, stellen Sie sicher, dass Sie Visual Studio installiert haben, zusammen mit dem neuesten .NET Framework. Fügen Sie dann IronWord zu Ihrem Projekt über den NuGet-Paketmanager hinzu.

Jordi Bardia
Software Ingenieur
Jordi ist am besten in Python, C# und C++ versiert. Wenn er nicht bei Iron Software seine Fähigkeiten einsetzt, programmiert er Spiele. Mit Verantwortung für Produkttests, Produktentwicklung und -forschung trägt Jordi mit immensem Wert zur kontinuierlichen Produktverbesserung bei. Die abwechslungsreiche Erfahrung hält ihn gefordert und engagiert, ...
Weiterlesen