Automatyzacja generowania dokumentów ma kluczowe znaczenie dla firm w celu tworzenia dynamicznych raportów, faktur i listów. Dzięki Aspose.Words Mail Merge dla .NET możesz efektywnie wypełniać szablony Word danymi z różnych źródeł, w tym obiektów, CSV, JSON i XML. Ten przewodnik pokazuje, jak wykorzystać Mail Merge w C# do uproszczenia i automatyzacji procesów dokumentacyjnych, skupiając się szczególnie na dynamicznym tworzeniu dokumentów Word w C# .NET.
Tematy omówione:
- Przegląd Mail Merge dla .NET
- Generowanie dokumentów z różnych źródeł danych
- Najlepsze praktyki dotyczące Mail Merge
- Najczęściej zadawane pytania
Przegląd Mail Merge dla .NET
Aspose.Words Mail Merge dla .NET umożliwia programistom generowanie spersonalizowanych dokumentów z wcześniej zdefiniowanych szablonów zawierających pola do scalania. Wtyczka jest zaprojektowana do bezproblemowej integracji w środowisku .NET, oferując możliwości:
- Dynamically populate templates with data, supporting .NET framework word document generation.
- Wydajne generowanie dokumentów hurtowych, wykorzystując .NET mail merge solution for large datasets.
- Utrzymanie spójnego formatowania w całych rezultatach, skutecznie wspierając C# word document template best practices.
Kluczowe cechy:
- Wsparcie dla wielu źródeł: Użyj danych z obiektów, baz danych, XML, JSON i CSV do tworzenia spersonalizowanych dokumentów Word w C#.
- Wysoka wydajność: Efektywne przetwarzanie dużych zbiorów danych i operacji hurtowych dla dynamicznego tworzenia dokumentów Word z .NET Core.
- Personalizowane szablony: Twórz szablony z miejscami na wstawianie danych, wykorzystując możliwości .NET word mail merge automation.
Instalacja
Zainstaluj Aspose.Words korzystając z NuGet:
PM> Install-Package Aspose.Words
Generowanie dokumentu Word z szablonu za pomocą obiektów C#
Najpierw zobaczmy, jak wypełnić szablon Word za pomocą obiektów C#. Aby to zilustrować, stworzymy dokument Word (DOC/DOCX) z następującymi miejscami jako treścią dokumentu:
<<[sender.Name]>> mówi: "<<[sender.Message]>>."
Tutaj sender jest instancją klasy, którą użyjemy do wypełniania szablonu za pomocą podejścia C# generuj dokument Word z bazy danych.
Teraz możemy użyć silnika raportowania Aspose.Words, aby wygenerować dokument Word z szablonu i instancji klasy Sender, wykonując następujące kroki:
- Stwórz instancję klasy Document i zainicjalizuj ją ścieżką do szablonu Word’a.
- Stwórz i zainicjalizuj obiekt klasy Sender.
- Zainicjuj klasę ReportingEngine.
- 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.
- Zapisz wygenerowany dokument Word używając metody Document.Save().
Poniższy fragment kodu pokazuje, 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, wykorzystamy bardziej kompleksowy szablon 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 przedstawiono poniżej.
Aby stworzyć dokument Word z źródła danych XML, wykonaj te kroki:
- Stwórz instancję klasy Document i zainicjalizuj ją ścieżką do szablonu Word’a.
- Stwórz instancję klasy XmlDataSource i zainicjalizuj ją ścieżką do pliku XML.
- Zainicjuj klasę ReportingEngine.
- Użyj metody ReportingEngine.BuildReport() jak wcześniej, aby wypełnić szablon Word.
- Zapisz wygenerowany dokument Word używając metody Document.Save().
Oto fragment kodu demonstrują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 zbadajmy, 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ć tak:
<<foreach [in managers]>>Menedżer: <<[Name]>>
Umowy:
<<foreach [in Contract]>>- <<[Client.Name]>> ($<<[Price]>>)
<</foreach>>
<</foreach>>
Odpowiadające źródło danych JSON, którego użyjemy do wypełnienia szablonu, wygląda tak:
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ą. Poniższy fragment kodu pokazuje, 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 ze ź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łniany danymi CSV przedstawionymi poniżej:
Teraz przyjrzyjmy się kodowi C#. Kroki pozostają te same, z jedną kluczową różnicą: użyjemy klasy CsvDataSource do załadowania danych CSV. Poniższy fragment 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 dla .NET za pomocą darmowej tymczasowej licencji.
Podsumowanie
W tym artykule dowiedziałeś się, jak generować dokumenty Word z szablonów za pomocą C#. Odkryłeś, jak wykorzystać różne źródła danych, takie jak obiekty, XML, JSON i CSV do dynamicznego generowania dokumentów .NET. Zgłębiaj dalej możliwości przetwarzania szablonów Word w .NET, eksplorując dokumentację i nie wahaj się skontaktować z nami za pośrednictwem naszego forum.