Przejdź do treści stopki
UZYWANIE IRONWORD

Jak generowac dokument Word przy uzyciu szablonu Word w C#

W dzisiejszych aplikacjach kluczowe znaczenie ma generowanie dokumentów WORDa na bieżąco do różnych celów, takich jak rozliczenia, faktury, listy itp. Funkcja szablonów dokumentów w programie Microsoft Word oferuje potężne narzędzie zapewniające spójność i wydajność. Jednak ręczne wypełnianie tych szablonów może być czasochłonne i podatne na błędy. W tym miejscu pojawia się IronWord od Iron Software — solidna biblioteka .NET zaprojektowana do automatyzacji procesu wypełniania szablonów Worda programowo. W tym artykułe omówimy, jak używać IronWord do wypełniania szablonu dokumentu WORDa, i podamy praktyczny przykład ilustrujący ten proces.

Jak wygenerować dokument Worda przy użyciu szablonu Worda w języku C

  1. Utwórz nowy projekt w programie Microsoft Visual Studio.
  2. Zainstaluj IronWord za pomocą menedżera pakietów NuGet.
  3. Utwórz dokument w formacie szablonu programu WORD.
  4. Wstaw dane do dokumentu WORD i zapisz go jako nowy plik.
  5. Dodaj efekty tekstowe do wygenerowanego dokumentu WORD.

Czym jest IronWord?

IronWord to biblioteka .NET firmy Iron Software, zaprojektowana w celu ułatwienia programowego tworzenia, edycji i zarządzania dokumentami Microsoft Word. Pozwala to programistom zautomatyzować proces generowania dokumentów WORD, ułatwiając dynamiczne tworzenie raportów, faktur, listów i innych rodzajów dokumentów w ramach ich aplikacji.

Najważniejsze cechy IronWord

1. Wypełnianie szablonów WORDa w języku C# i obsługa

IronWord umożliwia wykorzystanie szablonów programu WORD do definiowania symboli zastępczych w dokumencie szablonu i zastępowania ich rzeczywistymi danymi w czasie wykonywania.

2. Manipulacja tekstem

W dokumencie programu WORD można łatwo wstawiać, zamieniać lub usuwać tekst.

3. Formatowanie

Biblioteka obsługuje różne opcje formatowania, w tym style czcionek, rozmiary, kolory i wyrównanie akapitów.

4. Tabele i obrazy

IronWord pozwala wstawiać i edytować tabele oraz obrazy w dokumentach.

5. Kompatybilność

Działa płynnie z różnymi wersjami programu WORD, zapewniając kompatybilność i łatwość użytkowania.

Przykłady zastosowań

  • Generowanie raportów: Automatyczne generowanie szczegółowych raportów z danymi dynamicznymi.
  • Tworzenie faktur: Twórz profesjonalne faktury, wprowadzając dane klienta i transakcji.
  • Zarządzanie umowami: Automatyzacja tworzenia umów zawierających spersonalizowane informacje.
  • Listy i zawiadomienia: Generuj spersonalizowane listy i zawiadomienia dla klientów lub pracowników.

IronWord upraszcza pracę z dokumentami Worda w aplikacjach .NET, co czyni go cennym narzędziem dla programistów, którzy chcą zautomatyzować generowanie dokumentów i zadania związane z zarządzaniem nimi.

Wymagania wstępne

Przed rozpoczęciem pracy prosimy upewnić się, że dysponują Państwo następującymi elementami:

  • Visual Studio jest zainstalowane na Twoim komputerze.
  • Zainstalowano najnowszą wersję .NET Framework.

Krok 1: Utwórz nowy projekt w programie Microsoft Visual Studio.

Zacznijmy od utworzenia nowego projektu w Visual Studio.

Jak wygenerować dokument WORDa przy użyciu szablonu WORDa w języku C#: Rysunek 1

Wybierz szablon aplikacji konsolowej na poniższym ekranie.

Jak wygenerować dokument Worda przy użyciu szablonu Worda w języku C#: Rysunek 2 — Wybierz aplikację konsolową

Podaj nazwę projektu i lokalizację.

Jak wygenerować dokument Worda przy użyciu szablonu Worda w języku C#: Rysunek 3 – Podaj nazwę i lokalizację

Wybierz wersję .NET, najlepiej najnowszą z dostępną obsługą, i kliknij Utwórz.

Jak wygenerować dokument Worda przy użyciu szablonu Worda w języku C#: Rysunek 4

Krok 2: Zainstaluj menedżera pakietów IronWord NuGet.

Zainstaluj pakiet IronWord NuGet z menedżera pakietów NuGet w programie Visual Studio, postępując zgodnie z poniższą instrukcją.

Jak wygenerować dokument Worda przy użyciu szablonu Worda w języku C#: Rysunek 5 — Wyszukaj IronWord w menedżerze pakietów NuGet

Alternatywnie, zainstaluj go bezpośrednio za pomocą CLI, używając poniższego polecenia.

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

Krok 3: Utwórz dokument w formacie szablonu WORD.

Teraz wygeneruj szablon dokumentu WORDa o objętości jednej lub dwóch stron, który zostanie wykorzystany podczas procesu generowania dokumentu WORDa.

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}

Teraz zapisz powyższy dokument jako Template.docx.

Krok 4: Wstawianie danych do dokumentu WORD i zapisywanie jako nowy plik.

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

Wyjaśnienie

Podany kod pokazuje, jak użyć biblioteki IronWord do wypełnienia szablonu dokumentu WORDa konkretnymi danymi. Oto zwięzłe wyjaśnienie:

  1. Konfiguracja licencji: Kod rozpoczyna się od ustawienia klucza licencyjnego dla IronWord w celu aktywacji jego funkcjonalności.
  2. Ścieżki plików: Określa ścieżki do szablonu WORDa (Template.docx) oraz pliku wyjściowego (FilledDocument.docx).
  3. Utwórz instancję dokumentu: Instancja WordDocument jest tworzona przy użyciu odwołania do ścieżki szablonu.
  4. Zdefiniuj zamienniki: Tworzony jest słownik, w którym klucze reprezentują symbole zastępcze w szablonie, a wartości reprezentują dane do wstawienia.
  5. Zastąpienie symboli zastępczych: Przegląda słownik, zastępując każdy symbol zastępczy w dokumencie odpowiednimi danymi.
  6. Zapisz dokument: Na koniec zaktualizowany dokument jest zapisywany w określonej ścieżce wyjściowej.
  7. Komunikat o zakończeniu: Wyświetlany jest komunikat potwierdzający, że dokument został pomyślnie wypełniony i zapisany.

Wynik

Jak wygenerować dokument Worda przy użyciu szablonu Worda w języku C#: Rysunek 7 – Wynikowy dokument Worda

Krok 5: Dodaj efekty tekstowe do wygenerowanego dokumentu WORD.

IronWord umożliwia również dodawanie różnych efektów tekstowych, jak pokazano w tabeli poniżej.

W poniższym przykładzie dodajemy efekty tekstowe do słowa "IronSoftware".

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

Wyjaśnienie

Zmieniony kod ilustruje wykorzystanie biblioteki IronWord do wypełnienia szablonu dokumentu WORD, formatowania tekstu i zapisania zmodyfikowanego dokumentu. Oto zwięzłe wyjaśnienie:

  1. Konfiguracja licencji: Ustawia klucz licencyjny IronWord w celu włączenia funkcjonalności.
  2. Ścieżki plików: Określa ścieżki do szablonu (Template.docx) i pliku wyjściowego (glowEffect.docx).
  3. Utwórz instancję dokumentu: Inicjuje instancję WordDocument przy użyciu podanej ścieżki szablonu.
  4. Zdefiniuj zamienniki: Tworzy słownik symboli zastępczych i odpowiadających im wartości zamiennych.
  5. Zastąpienie symboli zastępczych: Przeglądanie słownika i zastępowanie symboli zastępczych w dokumencie rzeczywistymi danymi.
  6. Konfiguracja stylu tekstu: definiuje styl tekstu z efektem blasku, określając kolor i promień.
  7. Dodaj tekst ze stylem: Dodaje do dokumentu tekst o skonfigurowanym stylu.
  8. Zapisz dokument: Zapisuje zaktualizowany dokument pod nową nazwą (glowEffect.docx), odzwierciedlającą zastosowany styl tekstu.
  9. Wynik konsoli: Wyświetlany jest komunikat potwierdzający, że stylizowany dokument został zapisany.

Wynik

Jak wygenerować dokument Worda przy użyciu szablonu Worda w języku C#: Rysunek 8 – Przykładowy wynik w formacie Word

Licencjonowanie IronWord

IronWord. Po wprowadzeniu danych licencja zostanie dostarczona na podany adres e-mail. Licencję tę należy umieścić na początku kodu, przed użyciem biblioteki IronWord, jak pokazano poniżej.

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

Wnioski

IronWord oferuje kilka zalet związanych z tworzeniem dokumentów WORD przy użyciu szablonów. Ułatwia automatyzację tworzenia dokumentów, umożliwiając programistom programowe wypełnianie szablonów konkretnymi danymi, co ogranicza konieczność ręcznego wprowadzania danych. Zwiększa to wydajność i dokładność, ponieważ ryzyko błędu ludzkiego jest zminimalizowane. Ponadto IronWord pomaga zachować spójność między dokumentami, zapewniając, że każdy wygenerowany plik ma ten sam format i strukturę. Automatyzacja powtarzalnych zadań pozwala zaoszczędzić czas i zasoby, dzięki czemu idealnie nadaje się do szybkiego tworzenia dużych ilości dokumentów. IronWord zwiększa produktywność i usprawnia przepływ pracy w sytuacjach wymagających częstego lub złożonego generowania dokumentów.

Postępując zgodnie z instrukcjami zawartymi w tym artykułe i korzystając z podanego przykładu z wykorzystaniem IronWord, można efektywnie zarządzać potrzebami w zakresie generowania dokumentów i usprawnić przepływ pracy.

Często Zadawane Pytania

Jak wypełnić szablon dokumentu WORDa za pomocą języka C#?

Możesz wypełnić szablon dokumentu Worda za pomocą języka C#, korzystając z IronWord. Najpierw skonfiguruj projekt w Visual Studio i zainstaluj pakiet IronWord za pośrednictwem NuGet. Utwórz szablon Worda i użyj IronWord do wstawienia danych, a następnie zapisz wypełniony szablon jako nowy dokument.

Jakie są zalety korzystania z biblioteki .NET do automatyzacji szablonów programu WORD?

Korzystanie z biblioteki IronWord for .NET do automatyzacji szablonów programu Word ogranicza ręczne wprowadzanie danych, minimalizuje błędy i zapewnia spójność podczas tworzenia dokumentów. Umożliwia to wydajną obsługę zadań, takich jak rozliczenia, fakturowanie i pisanie listów.

Czy mogę dodawać efekty tekstowe podczas programowego wypełniania szablonu WORDa?

Tak, dzięki IronWord możesz dodawać efekty tekstowe, takie jak blask lub cień, do tekstu w dokumentach WORD podczas programowego wypełniania szablonów.

Jakie kroki należy wykonać, aby skonfigurować IronWord w projekcie Visual Studio?

Aby skonfigurować IronWord w projekcie Visual Studio, należy najpierw zainstalować pakiet IronWord NuGet, utworzyć szablon WORDa, a następnie użyć metod IronWord do programowego wypełnienia i zapisania dokumentu.

W jaki sposób IronWord zapewnia spójność podczas generowania dokumentów?

IronWord zapewnia spójność, umożliwiając programistom korzystanie z szablonów WORDa, które zachowują ten sam format i układ w wielu dokumentach, co zmniejsza ryzyko błędu ludzkiego.

Jakie są praktyczne zastosowania automatycznego generowania dokumentów WORD?

Automatyzacja generowania dokumentów WORD za pomocą IronWord może znaleźć zastosowanie w różnych scenariuszach, w tym w generowaniu raportów, tworzeniu faktur, zarządzaniu umowami oraz tworzeniu spersonalizowanych listów.

Czy za pomocą IronWord można obsługiwać różne wersje programu Microsoft WORD?

Tak, IronWord jest kompatybilny z różnymi wersjami programu WORD, co pozwala na płynną obsługę dokumentów w różnych środowiskach.

Co jest potrzebne, aby rozpocząć korzystanie z IronWord do zarządzania dokumentami WORD?

Aby rozpocząć korzystanie z IronWord, upewnij się, że masz zainstalowane Visual Studio wraz z najnowszym .NET Framework. Następnie dodaj IronWord do swojego projektu za pomocą menedżera pakietów NuGet.

Jordi Bardia
Inżynier oprogramowania
Jordi jest najbardziej biegły w Pythonie, C# i C++. Kiedy nie wykorzystuje swoich umiejętności w Iron Software, programuje gry. Dzieląc odpowiedzialność za testowanie produktów, rozwój produktów i badania, Jordi wnosi ogromną wartość do ciągłej poprawy produktów. Różnorodne doświadczenia ...
Czytaj więcej

Zespol wsparcia Iron

Jestesmy online 24 godziny, 5 dni w tygodniu.
Czat
Email
Zadzwon do mnie