IRONWORD VERWENDEN

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

Veröffentlicht 24. Oktober 2024
Teilen Sie:

In modernen Anwendungen ist es unerlässlich, Word-Dokumente für verschiedene Zwecke wie Rechnungen, Briefe usw. zu erstellen. Die Funktion der Microsoft Word-Dokumentvorlagen bietet eine leistungsstarke Möglichkeit, Konsistenz und Effizienz zu gewährleisten. Das manuelle Ausfüllen dieser Vorlagen kann jedoch zeitaufwändig und fehleranfällig sein. Das ist der GrundIronWord vonIron Software enthält eine robuste .NET-Bibliothek, mit der das programmgesteuerte Ausfüllen von Word-Vorlagen automatisiert werden kann. In diesem Artikel zeigen wir Ihnen, wie SieIronWord eine Word-Dokumentvorlage auszufüllen und ein praktisches Beispiel zur Veranschaulichung des Prozesses zu liefern.

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

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

  2. Installieren SieIronWord über den NuGet-Paketmanager.

  3. Erstellen Sie ein Word-Vorlagendokument.

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

  5. Fügen Sie dem generierten Word-Dokument Texteffekte hinzu.

Was ist IronWord?

IronWord ist eine .NET-Bibliothek vonIron Software wurde entwickelt, um die Erstellung, Bearbeitung und Verwaltung von Microsoft Word-Dokumenten programmatisch zu erleichtern. Es ermöglicht Entwicklern, den Prozess der Generierung von Word-Dokumenten zu automatisieren, was die dynamische Erstellung von Berichten, Rechnungen, Briefen und anderen Arten von Dokumenten innerhalb ihrer Anwendungen erleichtert.

Hauptmerkmale von IronWord

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

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 problemlos Text in ein Word-Dokument einfügen, ersetzen oder löschen.

3. Formatierung

Die Bibliothek unterstützt verschiedene Formatierungsoptionen, darunter Schriftarten, -größen, -farben und Absatzausrichtung.

4. Tabellen und Bilder

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

5. Kompatibilität

Sie arbeitet nahtlos mit verschiedenen Versionen von Microsoft Word zusammen, um Kompatibilität und Benutzerfreundlichkeit zu gewährleisten.

Anwendungsfälle

  • Berichterstellung: Generieren Sie automatisch detaillierte Berichte mit dynamischen Daten.
  • Rechnungserstellung: Erstellen Sie professionelle Rechnungen durch Ausfüllen von Kunden- und Transaktionsdetails.
  • Vertragsmanagement: Automatisieren Sie die Erstellung von Verträgen mit personalisierten Informationen.
  • Briefe und Notizen: Erstellen Sie personalisierte Briefe und Mitteilungen für Kunden oder Mitarbeiter.

    IronWord for .NET vereinfacht die Arbeit mit Word-Dokumenten in .NET-Anwendungen und ist damit ein wertvolles Werkzeug für Entwickler, die die Erstellung und Verwaltung von Dokumenten automatisieren möchten.

Voraussetzungen

Eine kurze Erinnerung: Stellen Sie sicher, dass Sie die folgenden Unterlagen haben, bevor wir anfangen:

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

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

Beginnen wir nun mit der Erstellung eines neuen Visual Studio-Projekts.

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

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

Wie man ein Word-Dokument mit einer Word-Vorlage in C# generiert: Abbildung 2 - Konsolenanwendung auswählen

Geben Sie den Namen und den Standort des Projekts an.

Wie man ein Word-Dokument mit einer Word-Vorlage in C# generiert: Abbildung 3 - Geben Sie Name und Ort an

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

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

Schritt 2: Installieren Sie IronWord NuGet Package Manager.

Installieren Sie das NuGet-Paket von IronWord über den NuGet-Paketmanager wie unten beschrieben in Visual Studio.

Generieren eines Word-Dokuments mit einer Word-Vorlage in C#: Abbildung 5 - Suche nach IronWord im NuGet Package Manager

Alternativ können Sie die Übersetzung auch direkt mit CLI installieren, indem Sie den unten stehenden Befehl verwenden.

Wie man ein Word-Dokument mit einer Word-Vorlage in C# generiert: Abbildung 6 - Kopieren Sie den Befehl und fügen Sie ihn in die NuGet-Konsolenanwendung ein

dotnet add package IronWord --version 2024.9.1
dotnet add package IronWord --version 2024.9.1
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'dotnet add package IronWord --version 2024.9.1
VB   C#

Schritt 3: Erstellen Sie ein Word-Vorlagendokument.

Erstellen Sie nun ein Word-Vorlagendokument mit einer oder zwei Seiten, die während des Erstellungsprozesses des Word-Dokuments verwendet werden sollen.

Dear {Name},
Thanks for Purchasing {product}, 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 expiry date.
Fell Free to contact {phone} or {email} for further queries.
Address: {Address}
Thank you,
{Sender}
Dear {Name},
Thanks for Purchasing {product}, 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 expiry date.
Fell Free to contact {phone} or {email} for further queries.
Address: {Address}
Thank you,
{Sender}
Dear
If True Then
	Name
End If
'INSTANT VB TODO TASK: Local functions are not converted by Instant VB:
', Thanks for Purchasing
'{
'	product
'}
'INSTANT VB TODO TASK: Local functions are not converted by Instant VB:
', happy @to serve you always.Your application dated
'{
'	@Date
'}
'INSTANT VB TODO TASK: Local functions are not converted by Instant VB:
'has been approved.The product comes @with an expiry @date @of
'{
'	expiryDate
'}
'INSTANT VB TODO TASK: Local functions are not converted by Instant VB:
'.Renew the product on @or before expiry @date.Fell Free @to contact
'{
'	phone
'}
'INSTANT VB TODO TASK: Local functions are not converted by Instant VB:
'@or {email} for further queries.Address:
'{
'	Address
'}
Thank you,
If True Then
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'	Sender}
VB   C#

Speichern Sie nun das obige Dokument als Template.docx.

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

using IronWord;
class Program
{
    static void Main()
    {
        License.LicenseKey = "your key";
        // Define the path to the template and the output file object sender
        string templatePath = "Template.docx";
        string outputPath = "FilledDocument.docx";
        // Create a new instance of the WordDocument class
        WordDocument doc = new WordDocument(templatePath);
            // Define a dictionary/ first table 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 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);
        Console.WriteLine("Document filled and saved successfully.");
    }
}
using IronWord;
class Program
{
    static void Main()
    {
        License.LicenseKey = "your key";
        // Define the path to the template and the output file object sender
        string templatePath = "Template.docx";
        string outputPath = "FilledDocument.docx";
        // Create a new instance of the WordDocument class
        WordDocument doc = new WordDocument(templatePath);
            // Define a dictionary/ first table 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 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);
        Console.WriteLine("Document filled and saved successfully.");
    }
}
Imports IronWord
Friend Class Program
	Shared Sub Main()
		License.LicenseKey = "your key"
		' Define the path to the template and the output file object sender
		Dim templatePath As String = "Template.docx"
		Dim outputPath As String = "FilledDocument.docx"
		' Create a new instance of the WordDocument class
		Dim doc As New WordDocument(templatePath)
			' Define a dictionary/ first table 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 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)
		Console.WriteLine("Document filled and saved successfully.")
	End Sub
End Class
VB   C#

Erläuterung

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

  1. Lizenz-Setup: Der Code beginnt mit dem Einstellen des Lizenzschlüssels für IronWord, um dessen Funktionalität zu aktivieren.

  2. Dateipfade: Hier werden die Pfade für die Word-Vorlage angegeben(`Vorlage.docx`) und die Ausgabedatei(`GefülltesDokument.docx`).3. Dokumenteninstanz erstellen: Eine Instanz von `WordDocument` wird unter Verwendung der Pfadreferenz der Vorlage erstellt.

  3. Ersetzungen definieren: Es wird ein Wörterbuch erstellt, in dem die Schlüssel für die Platzhalter in der Vorlage und die Werte für die einzufügenden Daten stehen.5. Ersetzen von Platzhaltern: Es durchläuft das Wörterbuch und ersetzt jeden Platzhalter im Dokument durch die entsprechenden Daten.

  4. Dokument speichern: Abschließend wird das aktualisierte Dokument mit der save-Methode und der Übergabe von Parametern im angegebenen Ausgabepfad gespeichert.7. Abschlussmeldung: Es wird eine Meldung gedruckt, die bestätigt, dass das Dokument erfolgreich ausgefüllt und gespeichert wurde.

    Output

    Generieren eines Word-Dokuments mit einer Word-Vorlage in C#: Abbildung 7 - Word-Dokument-Ausgabe

Schritt 5: Hinzufügen von Texteffekten zum generierten Word-Dokument.

IronWord ermöglicht auch das Hinzufügen verschiedener Texteffekte, wie in der folgenden Tabelle dargestellt.

Im folgenden Beispiel fügen wir dem Wort Iron Software Texteffekte hinzu.

using IronWord;
using IronWord.Models;
class Program
{
    static void Main()
    {
        License.LicenseKey = "your key";
        // Define the path to the template and the output file
        string templatePath = "Template.docx";
        string outputPath = "FilledDocument.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 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);
        //Console.WriteLine("Document filled and saved successfully.");
        // Create and configure text style methods
        TextStyle textStyle = new TextStyle();
        textStyle.TextEffect = new TextEffect()
        {
            GlowEffect = new Glow()
            {
                GlowColor = IronWord.Models.Color.Aqua,
                GlowRadius = 10,
            },
        };
        // Add text with style or image
        doc.AddText(" IronSoftware").Style = textStyle;
        // Export new Word document
        doc.SaveAs("glowEffect.docx");
    }
}
using IronWord;
using IronWord.Models;
class Program
{
    static void Main()
    {
        License.LicenseKey = "your key";
        // Define the path to the template and the output file
        string templatePath = "Template.docx";
        string outputPath = "FilledDocument.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 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);
        //Console.WriteLine("Document filled and saved successfully.");
        // Create and configure text style methods
        TextStyle textStyle = new TextStyle();
        textStyle.TextEffect = new TextEffect()
        {
            GlowEffect = new Glow()
            {
                GlowColor = IronWord.Models.Color.Aqua,
                GlowRadius = 10,
            },
        };
        // Add text with style or image
        doc.AddText(" IronSoftware").Style = textStyle;
        // Export new Word document
        doc.SaveAs("glowEffect.docx");
    }
}
Imports IronWord
Imports IronWord.Models
Friend Class Program
	Shared Sub Main()
		License.LicenseKey = "your key"
		' Define the path to 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
		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 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);
		'Console.WriteLine("Document filled and saved successfully.");
		' Create and configure text style methods
		Dim textStyle As New TextStyle()
		textStyle.TextEffect = New TextEffect() With {
			.GlowEffect = New Glow() With {
				.GlowColor = IronWord.Models.Color.Aqua,
				.GlowRadius = 10
			}
		}
		' Add text with style or image
		doc.AddText(" IronSoftware").Style = textStyle
		' Export new Word document
		doc.SaveAs("glowEffect.docx")
	End Sub
End Class
VB   C#

Erläuterung

Der überarbeitete Code veranschaulicht die Verwendung der IronWord-Bibliothek, um eine Word-Dokumentvorlage auszufüllen, Text zu formatieren und das geänderte Dokument zu speichern. Hier ist eine kurze Erklärung:

  1. Lizenz-Setup: Legt den IronWord-Lizenzschlüssel fest, um die Funktionalität zu aktivieren.

  2. Dateipfade: Gibt die Pfade für die Vorlage an(Template.docx) und die Ausgabedatei(glowEffect.docx).

  3. Dokumenteninstanz erstellen: Initialisiert eine WordDocument-Instanz unter Verwendung des angegebenen Vorlagenpfads.

  4. Ersetzungen definieren: Erzeugt ein Wörterbuch mit Platzhaltern und den entsprechenden Ersatzwerten.

  5. Ersetzen von Platzhaltern: Iteriert durch das Wörterbuch und ersetzt Platzhalter im Dokument durch tatsächliche Daten.

  6. Textstil konfigurieren: Definiert einen Textstil mit einem Leuchteffekt, wobei Farbe und Radius angegeben werden.

  7. Gestalteten 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)die Übersetzung muss den verwendeten Textstil widerspiegeln.

  9. Konsolenausgabe: Die vorherige Anweisung für die Konsolenausgabe wurde auskommentiert, und der Speichervorgang wurde aktualisiert, um den neuen Dokumentnamen wiederzugeben.

    Dieser Code demonstriert die Funktionen von IronWord zur Automatisierung und Anpassung von Dokumenten, einschließlich Textersetzung und -gestaltung.

    Output

    Generieren eines Word-Dokuments mit einer Word-Vorlage in C#: Abbildung 8 - Beispiel einer Word-Ausgabe

IronWord-Lizenzierung

IronWord. Sobald die Daten eingegeben sind, wird die Lizenz an die angegebene E-Mail-ID gesendet. Diese Lizenz muss am Anfang des Codes platziert werden, bevor dieIronWord bibliothek, wie unten.

License.LicenseKey = "your Key Here"
License.LicenseKey = "your Key Here"
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'License.LicenseKey = "your Key Here"
VB   C#

Schlussfolgerung

IronWord bietet mehrere Vorteile für die Erstellung von Word-Dokumenten mithilfe von Vorlagen. Sie vereinfacht die Automatisierung der Dokumentenerstellung, indem sie es den Entwicklern ermöglicht, Vorlagen programmgesteuert mit spezifischen Daten auszufüllen, wodurch die Notwendigkeit der manuellen Eingabe verringert wird. Dies erhöht die Effizienz und Genauigkeit, da das Risiko menschlicher Fehler minimiert wird. Zusätzlich,IronWord hilft dabei, die Konsistenz der Dokumente zu wahren und sicherzustellen, dass jede generierte Datei das gleiche Format und die gleiche Struktur aufweist. Die Automatisierung sich wiederholender Aufgaben spart Zeit und Ressourcen und ist daher ideal für die schnelle Erstellung großer Mengen von Dokumenten. IronWord steigert die Produktivität und rationalisiert Arbeitsabläufe in Szenarien, die eine häufige oder komplexe Dokumentenerstellung erfordern.

Wenn Sie die in diesem Artikel beschriebenen Schritte befolgen und das mitgelieferte Beispiel mitIronWordmit dieser Übersetzung können Sie Ihren Bedarf an der Dokumentenerstellung effizient verwalten und Ihren Arbeitsablauf rationalisieren.

NÄCHSTES >
Hinzufügen eines Wasserzeichens zu einer Word-Datei in C#

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

Gratis NuGet-Download Downloads insgesamt: 8,482 Lizenzen anzeigen >