Generowanie Word z szablonu w C#

Automatyzacja generowania dokumentów jest niezbędna 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 scalania poczty w C# dla uproszczonych i zautomatyzowanych procesów dokumentów, koncentrując się na dynamicznym tworzeniu dokumentów Word przy użyciu C# .NET.


Tematy omówione:


Przegląd scalania poczty dla .NET

Aspose.Words Mail Merge for .NET umożliwia programistom generowanie spersonalizowanych dokumentów z predefiniowanych szablonów zawierających pola scalania. Ta wtyczka jest zaprojektowana do płynnej integracji w środowiskach .NET, oferując możliwości:

  • Dynamicznego wypełniania szablonów danymi, wspierając generowanie dokumentów Word w frameworku .NET.
  • Efektywnego wykonywania masowej generacji dokumentów, wykorzystując rozwiązanie scalania poczty .NET dla dużych zbiorów danych.
  • Zapewnienia spójnego formatowania w całych wynikach, co poprawia najlepsze praktyki szablonów dokumentów Word w C#.

Kluczowe funkcje:

  1. Wsparcie dla wielu źródeł: Użyj danych z obiektów, baz danych, XML, JSON i CSV, aby tworzyć dostosowane dokumenty Word w C#.
  2. Wysoka wydajność: Efektywnie obsługuj duże zbiory danych i operacje masowe 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 scalania poczty Word w .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 przy użyciu 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órą wykorzystamy do wypełnienia szablonu przy użyciu podejścia C# generowanie dokumentu Word z bazy danych.

Następnie użyjemy silnika raportowania Aspose.Words do generowania 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. Utwórz instancję klasy ReportingEngine.
  4. Wypełnij szablon przy użyciu ReportingEngine.BuildReport(), która przyjmuje instancję dokumentu, źródło danych i nazwę źródła danych jako parametry.
  5. Zapisz wygenerowany dokument Word przy użyciu Document.Save().

Oto przykład kodu demonstrujący, jak generować 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 jest pokazane poniżej.

Aby stworzyć dokument Word z źródła danych XML, postępuj według tych kroków:

  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. Utwórz instancję klasy ReportingEngine.
  4. Użyj metody ReportingEngine.BuildReport(), aby wypełnić szablon Word.
  5. Zapisz wygenerowany dokument Word przy użyciu metody Document.Save().

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

Wynik

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

Następnie zapoznajmy się z tym, jak wygenerować dokument Word przy użyciu źródła danych JSON. W tym przykładzie stworzymy listę klientów podzieloną 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óre wykorzystamy do wypełnienia szablonu, jest 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 poprzednią strukturą. Oto przykład kodu demonstrujący, jak generować 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 będzie wypełniony przy użyciu następujących danych CSV:

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

Wynik

Wypróbuj Aspose.Words dla .NET za darmo

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

Podsumowanie

W tym artykule nauczył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 zachęcamy do kontaktu przez nasze forum.

Zobacz także