
Att automatisera dokumentgenerering är avgörande för företag som vill skapa dynamiska rapporter, fakturor och brev. Med Aspose.Words Mail Merge för .NET kan du effektivt fylla Word-mallar med data från olika källor, inklusive objekt, CSV, JSON och XML. Denna guide kommer att leda dig genom hur du använder Mail Merge i C# för strömlinjeformade och automatiserade dokumentarbetsflöden, med fokus på dynamisk skapelse av Word-dokument med C# .NET.
Innehållsförteckning
- Översikt över Mail Merge för .NET
- Generera dokument från olika datakällor
- Bästa praxis för Mail Merge
- Vanliga frågor
Översikt över Mail Merge för .NET
Aspose.Words Mail Merge för .NET-pluginet gör det möjligt för utvecklare att skapa personliga dokument från fördefinierade mallar som innehåller sammanslagningsfält. Denna integration är utformad för sömlös användning inom .NET-miljöer och erbjuder möjligheter att:
- Dynamiskt fylla mallar med data, vilket stöder .NET-ramverkets Word-dokumentgenerering.
- Effektivt utföra massdokumentgenerering, vilket utnyttjar .NET-mail merge-lösningen för Word-dokument.
- Säkerställa konsekvent formatering över utdata, vilket förbättrar C# Word-dokumentmallens bästa praxis.
Nyckelfunktioner:
- Multi-Source Support: Använd data från objekt, databaser, XML, JSON och CSV för att skapa anpassade Word-dokument med C#.
- Hög prestanda: Hantera stora datamängder och bulkoperationer effektivt för dynamisk Word-dokumentgenerering med .NET Core.
- Anpassningsbara mallar: Skapa mallar med platshållare för datainmatning, och utnyttja .NET Word mail merge-automatiserings möjligheterna.
Installation
För att komma igång, installera Aspose.Words via NuGet:
PM> Install-Package Aspose.Words
Generera Word-dokument från mall med C#-objekt
Låt oss börja med att fylla en Word-mall med C#-objekt. Vi kommer att skapa ett Word-dokument (DOC/DOCX) med följande platshållare:
<<[sender.Name]>> säger: "<<[sender.Message]>>."
I detta exempel är sender en instans av en klass som vi kommer att använda för att fylla mallen med hjälp av C# generera Word-dokument från databas-metoden.
Nästa steg är att använda rapporteringsmotorn i Aspose.Words för att generera Word-dokumentet från mallen och instansen av Sender-klassen genom att följa dessa steg:
- Skapa en instans av Document klassen och initiera den med sökvägen till Word-mallen.
- Skapa och initiera ett objekt av Sender-klassen.
- Instansiera ReportingEngine klassen.
- Fyll mallen med hjälp av ReportingEngine.BuildReport(), som tar instansen av dokumentet, datakällan och namnet på datakällan som parametrar.
- Spara det genererade Word-dokumentet med hjälp av Document.Save().
Här är kodexemplet som visar hur man genererar ett Word-dokument från en mall i C#.
Utdata

Generera Word-dokument från en XML-datakälla i C#
För att generera ett Word-dokument från en XML-datakälla kommer vi att använda en mer komplex Word-mall med följande platshållare:
<<foreach [in persons]>>Namn: <<[Name]>>, Ålder: <<[Age]>>, Födelsedatum: <<[Birth]:"dd.MM.yyyy">>
<</foreach>>
Genomsnittlig ålder: <<[persons.Average(p => p.Age)]>>
Den XML-datakälla som används i detta exempel visas nedan.
För att skapa ett Word-dokument från en XML-datakälla, följ dessa steg:
- Skapa en instans av Document klassen och initiera den med sökvägen till Word-mallen.
- Skapa en instans av XmlDataSource klassen och initiera den med sökvägen till XML-filen.
- Instansiera ReportingEngine klassen.
- Använd ReportingEngine.BuildReport() metoden för att fylla Word-mallen.
- Spara det genererade Word-dokumentet med hjälp av Document.Save() metoden.
Här är kodexemplet som visar hur man genererar ett Word-dokument från en XML-datakälla i C#.
Utdata

Generera Word-dokument från en JSON-datakälla i C#
Nästa steg är att utforska hur man genererar ett Word-dokument med en JSON-datakälla. I detta exempel kommer vi att skapa en lista över kunder segmenterade av sina chefer. Word-mallen kommer att se ut så här:
<<foreach [in managers]>>Chef: <<[Name]>>
Kontrakt:
<<foreach [in Contract]>>- <<[Client.Name]>> ($<<[Price]>>)
<</foreach>>
<</foreach>>
Den motsvarande JSON-datakällan som vi kommer att använda för att fylla mallen är nedan:
För att generera Word-dokumentet från JSON kommer vi att använda JsonDataSource klassen för att ladda datakällan, och de återstående stegen följer den tidigare strukturen. Här är kodexemplet som visar hur man genererar ett Word-dokument från JSON-mallen i C#.
Utdata

Generera Word-dokument från CSV-datakälla i C#
För att generera Word-dokumentet från en CSV-källa kommer vi att använda följande Word-mall:
<<foreach [in persons]>>Namn: <<[Column1]>>, Ålder: <<[Column2]>>, Födelsedatum: <<[Column3]:"dd.MM.yyyy">>
<</foreach>>
Genomsnittlig ålder: <<[persons.Average(p => p.Column2)]>>
Mallen kommer att fyllas med följande CSV-data:
Nu, låt oss granska C#-koden. Stegen förblir desamma förutom en viktig skillnad: vi kommer att använda CsvDataSource klassen för att ladda CSV-datan. Följande kodexempel illustrerar hur man genererar Word-dokumentet från en CSV-datakälla.
Utdata

Prova Aspose.Words för .NET gratis
Du kan prova Aspose.Words för .NET med en gratis tillfällig licens.
Slutsats
I denna artikel har du lärt dig hur man genererar Word-dokument från mallar med C#. Du har utforskat hur man utnyttjar olika datakällor såsom objekt, XML, JSON och CSV för dynamisk dokumentgenerering i .NET. För ytterligare insikter om möjligheterna med .NET Word-mallbehandling, dyka in i dokumentationen, och tveka inte att kontakta oss via vårt forum.