Invia dati Excel nel corpo dell'e-mail utilizzando C# .NET

I file Excel sono ampiamente utilizzati per conservare e condividere dati sotto forma di righe e colonne. Inoltre, puoi eseguire varie operazioni sui dati di Excel e analizzarli visivamente. In alcuni casi, è necessario incorporare e inviare i dati da un foglio Excel nel messaggio di posta elettronica. A tal fine, questo articolo illustra come inviare i dati di Excel nel corpo di un messaggio di posta elettronica a livello di codice in C# .NET.

API C# .NET per inviare dati Excel nel corpo dell’e-mail

Per inviare i dati di Excel nei messaggi di posta elettronica, utilizzeremo Aspose.Email for .NET. È un’API popolare e ricca di funzionalità che ti consente di creare e inviare e-mail dall’interno delle tue applicazioni .NET. Inoltre, utilizzeremo Aspose.Cells for .NET per convertire i fogli Excel in contenuto HTML. Puoi scaricare le DLL delle API o installarle da NuGet usando i comandi seguenti.

PM> Install-Package Aspose.Email
PM> Install-Package Aspose.Cells

Invia dati Excel nel corpo dell’e-mail in C#

Innanzitutto, utilizzeremo Aspose.Cells per .NET per convertire i dati di Excel in HTML in modo che possano essere incorporati nel corpo dell’e-mail. Successivamente, utilizzeremo Aspose.Email per .NET per comporre l’e-mail, inserire i dati di Excel nel corpo dell’e-mail e inviare e-mail. Di seguito sono riportati i passaggi per inviare i dati di Excel nel corpo di un messaggio di posta elettronica in C#.

  • Carica la cartella di lavoro di Excel usando la classe Cartella di lavoro di Aspose.Cells.
  • Salva la cartella di lavoro in MemoryStream in formato HTML.
  • Leggi l’HTML dal flusso in un oggetto stringa.
  • Crea un nuovo oggetto MailMessage e imposta il suo HtmlBody sul contenuto HTML.
  • Crea e configura l’istanza della classe SmtpClient.
  • Invia l’e-mail utilizzando il metodo SmtpClient.Send(MailMessage).

L’esempio di codice seguente mostra come inviare i dati di Excel nel corpo di un messaggio di posta elettronica in C#.

// Carica la cartella di lavoro di Excel desiderata
Workbook workbook = new Workbook("Data.xlsx");

// Salva la cartella di lavoro in MemoryStream in formato HTML
MemoryStream ms = new MemoryStream();
workbook.Save(ms, SaveFormat.Html);
ms.Position = 0;

// Crea un oggetto StreamReader per MemoryStream sopra
StreamReader sr = new StreamReader(ms);

// Carica l'HTML salvato da StreamReader in una variabile stringa
string strHtmlBody = sr.ReadToEnd();

// Definisci un nuovo messaggio e-mail e imposta il suo 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;

// Crea client SMTP
SmtpClient client = new SmtpClient();
client.Host = "smtp.gmail.com";
client.Username = "Username";
client.Password = "Password";
client.Port = 587;
client.SecurityOptions = SecurityOptions.Auto;

// Invia una email
client.Send(message);

Ottieni una licenza API gratuita

Puoi utilizzare le API Aspose senza limitazioni di valutazione utilizzando una licenza temporanea gratuita.

Conclusione

In questo articolo hai imparato come incorporare e inviare dati Excel nel corpo di un messaggio di posta elettronica usando C# .NET. Puoi semplicemente installare le API menzionate e integrare il codice fornito nelle tue applicazioni .NET. Inoltre, puoi esplorare di più sulle API utilizzando la loro documentazione fornita di seguito.

In caso aveste domande, potete postare sul nostro forum.

Guarda anche