Generowanie Worda z szablonu w C#

Automatyzacja generowania dokumentów jest kluczowa dla firm, które chcą tworzyć dynamiczne raporty, faktury i listy. Dzięki Aspose.Words Mail Merge for .NET możesz efektywnie wypełniać szablony Word danymi z różnych źródeł, w tym obiektów, CSV, JSON i XML. Ten przewodnik przeprowadzi Cię przez wykorzystanie Mail Merge w C# w celu uproszczenia i zautomatyzowania procesów dokumentowych, koncentrując się na dynamicznym tworzeniu dokumentów Word przy użyciu C# .NET.


Spis treści


Przegląd Mail Merge dla .NET

Wtyczka Aspose.Words Mail Merge for .NET umożliwia deweloperom tworzenie spersonalizowanych dokumentów na podstawie zdefiniowanych szablonów zawierających pola scalania. Ta integracja została zaprojektowana do bezproblemowego użycia w środowiskach .NET, oferując możliwości:

  • Dynamicznego wypełniania szablonów danymi, wspierając generowanie dokumentów Word w ramach .NET.
  • Efektywnego wykonywania masowej generacji dokumentów, wykorzystując rozwiązanie mail merge dla dokumentów Word w .NET.
  • Zapewnienia spójnego formatowania w różnych wynikach, poprawiając najlepsze praktyki dotyczące szablonów dokumentów Word w C#.

Kluczowe funkcje:

  1. Wsparcie dla wielu źródeł: Wykorzystaj dane z obiektów, baz danych, XML, JSON i CSV do tworzenia dostosowanych dokumentów Word w C#.
  2. Wysoka wydajność: Efektywne zarządzanie dużymi zbiorami danych i operacjami masowymi dla dynamicznego generowania dokumentów Word z .NET Core.
  3. Dostosowywalne szablony: Twórz szablony z miejscami na wstawianie danych, wykorzystując możliwości automatyzacji mail merge w Wordzie dla .NET.

Konfiguracja

Aby rozpocząć, zainstaluj Aspose.Words za pomocą NuGet:

PM> Install-Package Aspose.Words

Generowanie dokumentu Word z szablonu przy użyciu obiektów C#

Zacznijmy od wypełnienia szablonu Word za pomocą obiektów C#. Stworzymy dokument Word (DOC/DOCX) z następującymi miejscami:

<<[sender.Name]>> mówi: "<<[sender.Message]>>."

W tym przykładzie, sender jest instancją klasy, której użyjemy do wypełnienia szablonu przy użyciu podejścia C# generuj dokument Word z bazy danych.

Następnie użyjemy silnika raportowania Aspose.Words do wygenerowania dokumentu Word z szablonu i instancji klasy Sender, postępując według tych kroków:

  1. Utwórz instancję klasy Document i zainicjuj ją ścieżką do szablonu Word.
  2. Utwórz i zainicjuj obiekt klasy Sender.
  3. Zainstancjuj klasę ReportingEngine.
  4. Wypełnij szablon, używając ReportingEngine.BuildReport(), która przyjmuje instancję dokumentu, źródło danych i nazwę źródła danych jako parametry.
  5. Zapisz wygenerowany dokument Word, używając Document.Save().

Oto przykład kodu ilustrujący, jak wygenerować dokument Word z szablonu w C#.

Wynik

Generowanie dokumentu Word z źródła danych XML w C#

Aby wygenerować dokument Word z źródła danych XML, użyjemy bardziej złożonego szablonu Word z następującymi miejscami:

<<foreach [in persons]>>Imię: <<[Name]>>, Wiek: <<[Age]>>, Data urodzenia: <<[Birth]:"dd.MM.yyyy">>
<</foreach>>
Średni wiek: <<[persons.Average(p => p.Age)]>>

Źródło danych XML użyte w tym przykładzie pokazano poniżej.

Aby utworzyć dokument Word z źródła danych XML, wykonaj następujące kroki:

  1. Utwórz instancję klasy Document i zainicjuj ją ścieżką do szablonu Word.
  2. Utwórz instancję klasy XmlDataSource i zainicjuj ją ścieżką do pliku XML.
  3. Zainstancjuj klasę ReportingEngine.
  4. Użyj metody ReportingEngine.BuildReport(), aby wypełnić szablon Word.
  5. Zapisz wygenerowany dokument Word, używając metody Document.Save().

Oto przykład kodu ilustrujący, jak wygenerować dokument Word z źródła danych XML w C#.

Wynik

Generowanie dokumentu Word z źródła danych JSON w C#

Następnie zbadamy, jak wygenerować dokument Word przy użyciu źródła danych JSON. W tym przykładzie stworzymy listę klientów podzielonych według ich menedżerów. Szablon Word będzie wyglądał następująco:

<<foreach [in managers]>>Menedżer: <<[Name]>>
Umowy:
<<foreach [in Contract]>>- <<[Client.Name]>> ($<<[Price]>>)
<</foreach>>
<</foreach>>

Odpowiednie źródło danych JSON, którego użyjemy do wypełnienia szablonu, znajduje się poniżej:

Aby wygenerować dokument Word z JSON, użyjemy klasy JsonDataSource do załadowania źródła danych, a pozostałe kroki będą zgodne z wcześniejszą strukturą. Oto przykład kodu ilustrujący, jak wygenerować dokument Word z szablonu JSON w C#.

Wynik

Generowanie dokumentu Word z źródła danych CSV w C#

Aby wygenerować dokument Word z źródła CSV, wykorzystamy następujący szablon Word:

<<foreach [in persons]>>Imię: <<[Column1]>>, Wiek: <<[Column2]>>, Data urodzenia: <<[Column3]:"dd.MM.yyyy">>
<</foreach>>
Średni wiek: <<[persons.Average(p => p.Column2)]>>

Szablon zostanie wypełniony danymi z następującego pliku CSV:

Teraz przeanalizujmy kod C#. Kroki pozostają takie same, z jednym kluczowym wyjątkiem: użyjemy klasy CsvDataSource do załadowania danych CSV. Poniższy przykład kodu ilustruje, jak wygenerować dokument Word z źródła danych CSV.

Wynik

Wypróbuj Aspose.Words dla .NET za darmo

Możesz wypróbować Aspose.Words for .NET korzystając z darmowej tymczasowej licencji.

Podsumowanie

W tym artykule dowiedziałeś się, jak generować dokumenty Word z szablonów przy użyciu C#. Zbadałeś, jak wykorzystać różne źródła danych, takie jak obiekty, XML, JSON i CSV do dynamicznego generowania dokumentów w .NET. Aby uzyskać dalsze informacje na temat możliwości przetwarzania szablonów Word w .NET, zapoznaj się z dokumentacją, a także skontaktuj się z nami za pośrednictwem naszego forum.