Generate Word from template in C#

Automatisering av dokumentgenerering er avgjørende for bedrifter som ønsker å lage dynamiske rapporter, fakturaer og bokstaver. Med **Aspose.Words Mail Merge for .NET ** , kan du effektivt populere Word-maler med data fra ulike kilder, inkludert objekter, CSV, JSON, og XML. Denne guiden vil gå deg gjennom å bruke Mail merge i C# for strammede og automatiserte dokumentarbeidsflyt, fokusert på dynamisk Word dokument skapelse med C #.NET.

Tabell av innhold

Oversikt over Mail Merge for .NET

Aspose.Words Mail Merge for .NET -plugin gjør det mulig for utviklere å lage personlig dokumenter fra forhåndsdefinerte maler som inneholder fusjonsfelt. Denne integrasjonen er utformet for sømløs bruk i .Net-miljøer, og tilbyr muligheter til:

  • Dynamisk populere maler med data, støtter .NET-ramme Word-dokumentgenerasjon .
  • Effektivt utfører bulk-dokumentgenerering, ved å bruke .NET mail fusjonsløsningen for Word dokumenter .
  • Sikre konsekvent formatering gjennom utganger, forbedring C# Word dokument maling beste praksis .

Nøkkelfunksjoner :

  • Multi-Source Support : Bruk data fra objekter, databaser, XML, JSON og CSV for å lage tilpassede Word-dokumenter med C#.
  • **High Performance ** : Effektivt håndtere store datasett og masseoperasjoner for dynamisk Word-dokumentgenerasjon med .NET Core .
  • ** Tilpassbare maler ** : Skap templer med plassinnehavere for datainnsetting, ved hjelp av .NET Word mail fusion automation -funksjoner.

Setup

For å starte, installere Aspose.Words ved hjelp av NuGet:

PM> Install-Package Aspose.Words

Generere Word-dokument fra Template ved hjelp av C# Objects

La oss begynne med å populere en Word-templet ved hjelp av C#-objekter. Vi vil opprette et word-dokument (DOC / DOCX) med følgende plasser:

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

I dette eksemplet er **sender ** et eksempel på en klasse som vi vil bruke til å populere malen ved hjelp av C# genererer Word-dokumentet fra database tilnærming.

Deretter vil vi bruke rapporteringsmotoren til **Aspose.Words ** for å generere Word-dokumentet fra malen og eksemplet på Sender -klassen ved å følge disse trinnene:

  • Skap et eksempel på Document Klasse og initialiser det med Word-templets vei.
  • Lag og initialiser et objekt i Sender -klassen.
  • Oppmuntre på ReportingEngine og klasse.
  • Populere templatet ved hjelp av Oppsummering.BuildReport(), som tar dokumentets instans, data kilde og navnet på datakilde som parametere.
  • Lagre det genererte Word-dokumentet ved hjelp av Dokumentasjon (Save ).

Her er kodemønsteret som viser hvordan du kan generere et Word-dokument fra en mal i C#.

Output

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

For å generere et Word-dokument fra en XML-data kilde, vil vi bruke en mer kompleks Word template med følgende plasser:

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

XML-data kilden som brukes i dette eksemplet er vist nedenfor.

For å opprette et Word-dokument fra en XML-data kilde, følg disse trinnene:

  • Skap en instans av Dokument -klassen og initialiser den med Word-modellen.
  • Skap et eksempel på XmlDataSource Klasse og initialisere den med XML-filen.
  • Oppstart av ReportingEngine klassen.
  • Bruk ReportingEngine.BuildReport() -metoden for å populere Word-templet.
  • Lagre det genererte Word-dokumentet ved hjelp av Document.Save() -metoden.

Her er kodemønsteret som viser hvordan å generere et Word-dokument fra en XML-data kilde i C#.

Output

Generere Word-dokument fra en JSON Data Source i C#

Neste, la oss utforske hvordan du genererer et Word-dokument ved hjelp av en JSON-data kilde.I dette eksemplet vil vi lage en liste over kunder segmentert av deres ledere.

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

Den tilsvarende JSON-data kilden vi vil bruke til å populere malen er nedenfor:

For å generere Word-dokumentet fra JSON, vil vi bruke JsonDataSource Klassen for å laste opp datakilde, og de resterende trinnene vil følge den forrige strukturen. Her er kodesamlet som viser hvordan å generere et Word-dokument fra JSON-skjemaet i C#.

Output

Generere Word-dokument fra CSV Data Source i C#

For å generere Word-dokumentet fra en CSV-kilde, vil vi bruke følgende Word template:

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

Templatet vil bli populert ved hjelp av følgende CSV-data:

Nå, la oss se på C#-koden. trinnene forblir de samme bortsett fra en nøkkelforskjellen: vi vil bruke CsvDataSource Klassen for å laste ned CSV-dataene. Følgende kodemønster illustrerer hvordan å generere Word-dokumentet fra en CSV data kilde .

Output

Prøv Aspose.Words for .NET for gratis

Du kan prøve Aspose.Words for .NET Bruker en gratis midlertidig lisens.

Conclusion

I denne artikkelen har du lært hvordan du genererer Word-dokumenter fra maler ved hjelp av C#. Du har undersøkt hvordan å utnytte ulike datakilder som objekter, XML, JSON og CSV for **dynamisk dokumentgenerering i .NET ** . For ytterligere innsikt i mulighetene til .NET Word template behandling , dype inn i Dokumentasjonog føler seg fri til å komme seg ut gjennom vår Forumet.

More in this category