使用 C# .NET 在電子郵件正文中發送 Excel 數據

Excel 文件廣泛用於以行和列的形式保存和共享數據。此外,您還可以對Excel數據進行各種操作,並對其進行可視化分析。在某些情況下,您必須在電子郵件中嵌入和發送來自 Excel 工作表的數據。為此,本文介紹瞭如何在 C# .NET 中以編程方式發送電子郵件正文中的 Excel 數據。

用於在電子郵件正文中發送 Excel 數據的 C# .NET API

要在電子郵件中發送 Excel 數據,我們將使用 Aspose.Email for .NET。它是一種流行且功能豐富的 API,可讓您從 .NET 應用程序中創建和發送電子郵件。此外,我們將使用 Aspose.Cells for .NET 將 Excel 工作表轉換為 HTML 內容。您可以 下載 API 的 DLL 或使用以下命令從 NuGet 安裝它們。

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

在 C# 中發送電子郵件正文中的 Excel 數據

首先,我們將使用 Aspose.Cells for .NET 將 Excel 數據轉換為 HTML,以便將其嵌入到電子郵件正文中。之後,我們將使用Aspose.Email for .NET 編寫郵件,將Excel 數據插入郵件正文,並發送郵件。以下是在 C# 中發送電子郵件正文中的 Excel 數據的步驟。

  • 使用 Aspose.Cells 的 Workbook 類加載 Excel 工作簿。
  • 以 HTML 格式將工作簿保存到 MemoryStream
  • 將流中的 HTML 讀入字符串對象。
  • 創建一個新的 MailMessage 對象並將其 HtmlBody 設置為 HTML 內容。
  • 創建並配置 SmtpClient 類的實例。
  • 使用 SmtpClient.Send(MailMessage) 方法發送電子郵件。

以下代碼示例顯示如何在 C# 中發送電子郵件正文中的 Excel 數據。

// 加載所需的 Excel 工作簿
Workbook workbook = new Workbook("Data.xlsx");

// 將工作簿以 HTML 格式保存到 MemoryStream
MemoryStream ms = new MemoryStream();
workbook.Save(ms, SaveFormat.Html);
ms.Position = 0;

// 為上面的 MemoryStream 創建一個 StreamReader 對象
StreamReader sr = new StreamReader(ms);

// 將保存的 HTML 從 StreamReader 加載到字符串變量中
string strHtmlBody = sr.ReadToEnd();

// 定義一個新的電子郵件消息並設置它的 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;

// 創建 SMTP 客戶端
SmtpClient client = new SmtpClient();
client.Host = "smtp.gmail.com";
client.Username = "Username";
client.Password = "Password";
client.Port = 587;
client.SecurityOptions = SecurityOptions.Auto;

// 發送電子郵件
client.Send(message);

獲取免費的 API 許可證

您可以使用 免費臨時許可證 不受評估限制地使用 Aspose API。

結論

在本文中,您了解瞭如何使用 C# .NET 在電子郵件正文中嵌入和發送 Excel 數據。您可以簡單地安裝上述 API 並將提供的代碼集成到您的 .NET 應用程序中。此外,您可以使用下面提供的文檔探索更多關於 API 的信息。

如果您有任何問題,可以發帖到我們的 論壇

也可以看看