Mail Merge from Excel in C# | Excel Mail Merge to Excel

Mail merge gör det enkelt att skapa personliga dokument i stort sett, som brev, e-postmeddelanden, fakturor eller certifikat. Du börjar med en mall och fyller i den med data från ett kalkylblad. Varje rad i Excel-filen genererar ett nytt dokument med rätt detaljer på rätt ställen. Det är ett smart sätt att automatisera repetitiva uppgifter som att skicka ut fakturor eller generera rapporter. I det här inlägget kommer vi att visa dig hur du utför en mail merge från Excel med C#. Låt oss börja.

Denna artikel täcker följande ämnen:

C# Mail Merge Excel-bibliotek

Vi kommer att använda Aspose.Cells for .NET API:et för att utföra mailmerge från Excel i C#. Det erbjuder kraftfulla verktyg för att arbeta med Excel-filer direkt i din kod. Det låter utvecklare skapa, läsa och uppdatera kalkylblad med lätthet. Du kan också hantera avancerade uppgifter som mailmerge utan problem. Biblioteket gör Excel-automatisering snabb, flexibel och pålitlig.

För att komma igång med Aspose.Cells för .NET, följ dessa enkla installationsanvisningar:

  1. Vänligen ladda ner det från releases.
  2. Installera biblioteket med hjälp av NuGet Package Manager med följande kommando:
PM> Install-Package Aspose.Cells

Hur fungerar Mail Merge med Aspose.Cells?

Aspose.Cells stöder inte `mail merge” på samma sätt som Word.Det lägger till mail merge i Excel med hjälp av Smart Markers.Dessa markörer fungerar som platshållare i ditt kalkylblad, och biblioteket ersätter dem med verklig data vid körning. När det bearbetar varje rad från din datakälla fyller det i mallen och expanderar innehållet automatiskt, så att du kan generera helt personaliserade dokument med bara några rader C#-kod.

&=DataSource.ColumnName

Under behandling ersätter Aspose.Cells dessa med verkliga data från en DataTable, List<T> eller någon IEnumerable. Till exempel ersätter biblioteket &=Data.Name med värden från Namn-kolumnen i Data-tabellen.

Förbered Excel-mallen

Skapa en Excel-fil (t.ex. Template.xlsx) med smarta markörer. Här är en provlayout:

NamnE-postBelopp
&=Data.Namn&=Data.E-post&=Data.Belopp

Steg-för-steg-guide för att utföra mailmerge från Excel i C#

För att utföra en massutskrift från Excel med Aspose.Cells för .NET, följ helt enkelt dessa steg:

Steg 1: Ladda Excel-mallen

Ladda Excel-mallfilen som innehåller Smart Markers med hjälp av Workbook-klassen. Workbook-klassen representerar hela Excel-filen (arbetsboken).Den laddade mallfilen fungerar som layout för din sammanslagna utdata.

Workbook workbook = new Workbook("Template.xlsx");

Steg 2: Skapa en DataTable

Här skapar vi en DataTable som simulerar din Excel-datakälla. Varje kolumn matchar en smart markör, och varje rad representerar en uppsättning värden att införa. Klassen DataTable från System.Data innehåller de data du vill slå samman. Varje kolumn matchar en smart markör, och varje rad ger en unik uppsättning värden.

DataTable dt = new DataTable("Data");
dt.Columns.Add("Name");
dt.Columns.Add("Email");
dt.Columns.Add("Amount");

dt.Rows.Add("Alice", "alice@example.com", 1000);
dt.Rows.Add("Bob", "bob@example.com", 1500);

Steg 3: Länka din Excel-mall till datakällan

Vi använder WorkbookDesigner-klassen för att koppla mallen med datan. WorkbookDesigner är en speciell klass i Aspose.Cells som är utformad för att hantera smarta markörer och databindning. Den kopplar din datakälla (som en DataTable) med Excel-mallen. Metoden SetDataSource() binder DataTable (Data) till de smarta markörerna i arbetsboken.

WorkbookDesigner designer = new WorkbookDesigner(workbook);
designer.SetDataSource(dt);
  • SetDataSource() kopplar DataTable till Smart Markers i arbetsboken.
  • "Data" är namnet som används i markörerna som &=Data.Name.

Steg 4: Genomför postfusingen

När du har ställt in datakällan, fyller anropet Process() i alla Smart Markers med verkliga värden från DataTable. Detta kommando utför e-postsammanfogningen. Det går igenom Smart Markers och ersätter dem med faktiska värden från datakällan.

designer.Process();

Steg 5: Spara filen

Slutligen sparar vi den färdiga filen med all data sammanfogad.

workbook.Save("MergedOutput.xlsx");

Spara den sammanslagna utdata som en PDF

Du kan enkelt spara det sammanslagna Excel-dokumentet som en PDF med en enda kodrad.

// Set PDF options
PdfSaveOptions options = new PdfSaveOptions();

// Save as PDF
workbook.Save("MergedDocument.pdf", SaveFormat.Pdf);

Complete C# Code to Mail Merge Data

// Ladda Excel-mallen
Workbook workbook = new Workbook("Template.xlsx");

// Create dummy data
DataTable dt = new DataTable("Data");
dt.Columns.Add("Name");
dt.Columns.Add("Email");
dt.Columns.Add("Amount");

dt.Rows.Add("Alice", "alice@example.com", 1000);
dt.Rows.Add("Bob", "bob@example.com", 1200);

// Ställ in datakällan
WorkbookDesigner designer = new WorkbookDesigner(workbook);
designer.SetDataSource(dt);

// Bearbeta smarta markörer (mail merge)
designer.Process();

// Save the output
workbook.Save("MergedOutput.xlsx");

Output

Utdata Excel-filen innehåller en rad för varje post med personaliserad data som fylls i stället för smarta markörer.

Mail Merge från Excel i C# - Utdata

Mail Merge från Excel i C# - Utdata

Få en gratis licens

Hämta en gratis temporär licens som låter dig testa alla funktioner i Aspose.Cells för .NET utan begränsningar. Det är idealiskt om du utvärderar API:et för automatiseringsuppgifter som mail merge, Excel-rapportering eller PDF-export.

Excel till Excel-postsammanfogning: Gratis resurser

Förutom Excel-utskrift erbjuder vi olika resurser för att hjälpa dig att fördjupa din förståelse av Aspose.Cells för .NET. Kolla in vår dokumentation, handledningar och communityforum för mer insikter.

Vanliga frågor (FAQ)

Q1: Kan jag använda Excel-massutskick utan att Microsoft Office är installerat?

Ja, mail merge kräver inte Microsoft Office. Aspose.Cells körs oberoende och hanterar allt genom sina egna API:er.

Q2: Vad är skillnaden mellan Smart Markers och Word Merge Fields?

Smart Markers fungerar inom Excel och är mer anpassningsbara för radvis dataexpansion. Sammanfogningsfält är specifika för Word.

Q3: Kan jag slå samman från Excel till Word med Aspose?

Ja, men du kommer att behöva Aspose.Words för det scenariot.

Q4: Är det möjligt att automatisera PDF-generering från Excel-sammanfogningar?

Absolut. Spara bara den slutliga arbetsboken i PDF-format med Aspose.Cells.

Slutsats

Mail merge från Excel erbjuder ett kraftfullt sätt att skapa dynamiska, personliga dokument med det bekanta kalkylbladsgränssnittet. I detta blogginlägg gick vi igenom mail merge från Excel med hjälp av C#. Genom att använda Aspose.Cells Smart Markers får du flexibiliteten att automatisera denna process helt och hållet och generera tusentals fakturor, certifikat eller andra strukturerade rapporter.

Om du har några frågor eller behöver ytterligare hjälp, tveka inte att kontakta oss på vårt free support forum.

Se också