
Automatisering av 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 i Word-mallar med data från olika källor, inklusive objekt, CSV, JSON och XML. Denna guide kommer att vägleda dig genom att använda Mail Merge i C# för strömlinjeformade och automatiserade dokumentarbetsflöden, med fokus på dynamisk skapande av Word-dokument med C# .NET.
Ämnen som tas upp:
- Ö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 möjliggör för utvecklare att generera personliga dokument från fördefinierade mallar som innehåller sammanslagningsfält. Denna plugin är utformad för sömlös integration inom .NET-miljöer och erbjuder möjligheter att:
- Dynamiskt fylla i mallar med data, vilket stöder .NET-ramverkets Word-dokumentgenerering.
- Effektivt utföra massgenerering av dokument, vilket utnyttjar .NET mail merge-lösningen för stora datamängder.
- Säkerställa konsekvent formatering över utdata, vilket förbättrar C# Word-dokumentmallens bästa praxis.
Viktiga funktioner:
- Multi-källstöd: Använd data från objekt, databaser, XML, JSON och CSV för att skapa anpassade Word-dokument med C#.
- Hög prestanda: Hantera effektivt stora datamängder och massoperationer för dynamisk Word-dokumentgenerering med .NET Core.
- Anpassningsbara mallar: Skapa mallar med platshållare för datainmatning, utnyttja .NET Word mail merge-automatiserings möjligheterna.
Installation
För att komma igång, installera Aspose.Words med NuGet:
PM> Install-Package Aspose.Words
Generera Word-dokument från mall med C#-objekt
Låt oss börja med att fylla i 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 i 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 i mallen med hjälp av ReportingEngine.BuildReport(), som tar instansen av Document, datakällan och namnet på datakällan som parametrar.
- Spara det genererade Word-dokumentet med Document.Save().
Här är kodexemplet som demonstrerar 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 i Word-mallen.
- Spara det genererade Word-dokumentet med Document.Save() metoden.
Här är kodexemplet som demonstrerar 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 efter sina chefer. Word-mallen kommer att se ut så här:
<<foreach [in managers]>>Chef: <<[Name]>>
Avtal:
<<foreach [in Contract]>>- <<[Client.Name]>> ($<<[Price]>>)
<</foreach>>
<</foreach>>
Den motsvarande JSON-datakälla som vi kommer att använda för att fylla i mallen visas 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 demonstrerar 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 i med följande CSV-data:
Nu ska vi granska C#-koden. Stegen förblir desamma förutom en viktig skillnad: vi kommer att använda CsvDataSource klassen för att ladda CSV-data. 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 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.