Generate Word from template in C#

Automatisering af dokumentgenerering er afgørende for virksomheder, der søger at oprette dynamiske rapporter, fakturaer og bogstaver.Med Aspose.Words Mail Merge for .NET kan du effektivt populere Word-malerier med data fra forskellige kilder, herunder objekter, CSV, JSON og XML. Denne guide vil gå dig gennem brugen af Mail Merg i C# for stram og automatiseret dokumentarbejdsfløj, fokuseret på dynamisk Word dokument skabelse med C# .Net.

Tabellen af indhold

Oversigt over Mail Merge for .NET

Aspose.Words Mail Merge for .NET plugin giver udviklere mulighed for at oprette personlige dokumenter fra forhåndsdefinerede maler, der indeholder fusionsfelter:

  • Dynamisk populere maler med data, der understøtter .NET-ramme Word-dokumentgeneration.
  • Effektivt udfører massedokumentgenerering, der leverer .NET mail merge løsning for Word-dokumenter.
  • Sørg for konsekvent formatering på tværs af outputs, forbedring C# Word dokument template bedste praksis.

De vigtigste egenskaber:

  • Multi-Source Support: Brug data fra objekter, databaser, XML, JSON og CSV til at oprette tilpassede Word-dokumenter med C#.
  • High Performance: Effektivt håndtere store datasæt og massedrift for dynamisk Word-dokumentgeneration med .NET Core.
  • Kustomiserbare maler: Skab templer med placeringsholdere til dataindsættelse, ved hjælp af .NET Word mail fusion automatisering funktioner.

Sæt op

For at komme i gang, installere Aspose.Words ved hjælp af NuGet:

PM> Install-Package Aspose.Words

Generere Word-dokument fra template ved hjælp af C#-objekter

Lad os begynde med at populere et Word-tema ved hjælp af C#-objekter. Vi vil oprette et Word-dokument (DOC/DOCX) med følgende placeringsholdere:

<<[sender.Name]>> says: "<<[sender.Message]>>."

I dette eksempel er sender et eksempel på en klasse, som vi vil bruge til at populere malen ved hjælp af C# genererer Word-dokument fra database tilgang.

Nedenfor vil vi bruge rapporteringsmotoren i Aspose.Words til at generere Word-dokumentet fra malen og eksemplet på Sender-klassen ved at følge disse trin:

  • Skab et eksempel på Dokumentation klassificere og initialisere det med Word-templets vej.
  • Skab og initialiser et objekt i Sender-klassen.
  • Fortsæt med at ReportingEngine Klassen er.
  • Indbygge templet ved hjælp af Udgivelse af budskabsrapporter(), som tager dokumentets instans, datakilde og navnet på datakilde som parametre.
  • Spare det genererede Word-dokument ved hjælp af Læs mere (Save().

Her er kodestemplet, der viser, hvordan man genererer et Word-dokument fra en template i C#.

Udgang

Generere Word-dokument fra en XML-data kilde i C#

For at generere et Word-dokument fra en XML-data kilde bruger vi en mere kompleks Word-tema med følgende placeringsholdere:

<<foreach [in persons]>>Name: <<[Name]>>, Age: <<[Age]>>, Date of Birth: <<[Birth]:"dd.MM.yyyy">>
<</foreach>>
Average age: <<[persons.Average(p => p.Age)]>>

Den XML-data kilde, der anvendes i dette eksempel, vises nedenfor.

For at oprette et Word-dokument fra en XML-data kilde, skal du følge disse trin:

  • Skab et eksempel på Dokument-klassen og initialiser det med Word-modellen.
  • Skab et eksempel på XmlDataSource klassificere og initialisere det med XML-filens vej.
  • Start den ReportingEngine klasse.
  • Brug ReportingEngine.BuildReport()-metoden til at populere Word-templet.
  • Save det genererede Word-dokument ved hjælp af Document.Save()-metoden.

Her er kodestemplet, der viser, hvordan man genererer et Word-dokument fra en XML-data kilde i C#.

Udgang

Generere Word-dokument fra en JSON-data kilde i C#

Næste, lad os udforske, hvordan man genererer et Word-dokument ved hjælp af en JSON-data kilde. I dette eksempel vil vi oprette en liste over kunder segmenteret af deres ledere:

<<foreach [in managers]>>Manager: <<[Name]>>
Contracts:
<<foreach [in Contract]>>- <<[Client.Name]>> ($<<[Price]>>)
<</foreach>>
<</foreach>>

Den tilsvarende JSON-data kilde, vi vil bruge til at populere templatet, er nedenfor:

For at generere Word-dokumentet fra JSON, vil vi bruge JsonDataSource klasse til at oplade datakilde, og de resterende skridt vil følge den foregående struktur. Her er kodestemplet, der viser, hvordan du kan generere et Word-dokument fra JSON-skemaet i C#.

Udgang

Generere Word-dokument fra CSV-data kilde i C#

For at generere Word-dokumentet fra en CSV-kilde bruger vi følgende Word-tema:

<<foreach [in persons]>>Name: <<[Column1]>>, Age: <<[Column2]>>, Date of Birth: <<[Column3]:"dd.MM.yyyy">>
<</foreach>>
Average age: <<[persons.Average(p => p.Column2)]>>

Modellen vil blive populeret ved hjælp af følgende CSV-data:

Lad os nu se på C#-koden. trinene forbliver de samme, medmindre der er én nøgleforskel: vi vil bruge CsvDataSource Nedenfor illustrerer kodestemplet, hvordan man genererer Word-dokumentet fra en CSV-data kilde.

Udgang

Prøv Aspose.Words for .NET for gratis

Du kan prøve Aspose.Words til .NET Brug af en gratis Den midlertidige licens.

Konklusion

I denne artikel har du lært hvordan man genererer Word-dokumenter fra templer ved hjælp af C#. Du har undersøgt, hvordan du leverer forskellige datakilder som objekter, XML, JSON og CSV til dynamisk dokument generation i .NET. For yderligere indsigt i mulighederne for .NET Word template processing, dykke ind i Dokumentation, og føler sig fri til at komme ud gennem vores Forum.

More in this category