Excel-filer används ofta för att behålla och dela data i form av rader och kolumner. Dessutom kan du utföra olika operationer på Excel-data och visuellt analysera dem. I vissa fall måste du bädda in och skicka data från ett Excel-ark i e-postmeddelandet. För att åstadkomma det, täcker den här artikeln hur du skickar Excel-data i ett e-postmeddelande programmatiskt i C# .NET.
C# .NET API:er för att skicka Excel-data i e-posttext
För att skicka Excel-data i e-postmeddelanden använder vi Aspose.Email for .NET. Det är ett populärt och funktionsrikt API som låter dig skapa och skicka e-post från dina .NET-applikationer. Dessutom kommer vi att använda Aspose.Cells for .NET för att konvertera Excel-ark till HTML-innehåll. Du kan antingen ladda ner API:ernas DLL:er eller installera dem från NuGet med hjälp av följande kommandon.
PM> Install-Package Aspose.Email
PM> Install-Package Aspose.Cells
Skicka Excel-data i e-postkroppen i C#
Först kommer vi att använda Aspose.Cells för .NET för att konvertera Excel-data till HTML så att det kan bäddas in i e-postmeddelandet. Efter det kommer vi att använda Aspose.Email för .NET för att skriva e-postmeddelandet, infoga Excel-data i e-postmeddelandet och skicka e-post. Följande är stegen för att skicka Excel-data i ett e-postmeddelande i C#.
- Ladda Excel-arbetsbok med Aspose.Cells klass Workbook.
- Spara arbetsboken till MemoryStream i HTML-format.
- Läs HTML från strömmen till ett strängobjekt.
- Skapa ett nytt MailMessage-objekt och ställ in dess HtmlBody till HTML-innehållet.
- Skapa och konfigurera instansen av klassen SmtpClient.
- Skicka e-postmeddelandet med metoden SmtpClient.Send(MailMessage).
Följande kodexempel visar hur du skickar Excel-data i ett e-postmeddelande i C#.
// Ladda önskad Excel-arbetsbok
Workbook workbook = new Workbook("Data.xlsx");
// Spara arbetsboken i MemoryStream i HTML-format
MemoryStream ms = new MemoryStream();
workbook.Save(ms, SaveFormat.Html);
ms.Position = 0;
// Skapa ett StreamReader-objekt för ovanstående MemoryStream
StreamReader sr = new StreamReader(ms);
// Ladda den sparade HTML-koden från StreamReader till en strängvariabel
string strHtmlBody = sr.ReadToEnd();
// Definiera ett nytt e-postmeddelande och ställ in dess HtmlBody
MailMessage message = new MailMessage();
message.HtmlBody = strHtmlBody;
message.Subject = "Inline Excel Message";
message.From = "sender@abc.com";
message.To = "receiver@xyz.com";
message.IsBodyHtml = true;
// Skapa SMTP-klient
SmtpClient client = new SmtpClient();
client.Host = "smtp.gmail.com";
client.Username = "Username";
client.Password = "Password";
client.Port = 587;
client.SecurityOptions = SecurityOptions.Auto;
// Skicka epost
client.Send(message);
Skaffa en gratis API-licens
Du kan använda Aspose API:er utan utvärderingsbegränsningar med en gratis temporär licens.
Slutsats
I den här artikeln har du lärt dig hur du bäddar in och skickar Excel-data i ett e-postmeddelande med C# .NET. Du kan helt enkelt installera de nämnda API:erna och integrera den medföljande koden i dina .NET-applikationer. Dessutom kan du utforska mer om API:erna med hjälp av deras dokumentation nedan.
Om du skulle ha några frågor kan du göra ett inlägg på vårt forum.