Gửi dữ liệu Excel trong nội dung email bằng C# .NET

Tệp Excel được sử dụng rộng rãi để lưu giữ và chia sẻ dữ liệu ở dạng hàng và cột. Ngoài ra, bạn có thể thực hiện các thao tác khác nhau trên dữ liệu Excel và phân tích dữ liệu đó một cách trực quan. Trong một số trường hợp, bạn phải nhúng và gửi dữ liệu từ trang tính Excel trong thư email. Để thực hiện điều đó, bài viết này trình bày cách gửi dữ liệu Excel trong nội dung email theo chương trình trong C# .NET.

API C# .NET để gửi dữ liệu Excel trong nội dung email

Để gửi dữ liệu Excel trong thư email, chúng tôi sẽ sử dụng Aspose.Email for .NET. Đây là một API phổ biến và giàu tính năng cho phép bạn tạo và gửi email từ bên trong các ứng dụng .NET của mình. Ngoài ra, chúng tôi sẽ sử dụng Aspose.Cells for .NET để chuyển đổi các trang tính Excel thành nội dung HTML. Bạn có thể tải xuống DLL của API hoặc cài đặt chúng từ NuGet bằng các lệnh sau.

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

Gửi dữ liệu Excel trong nội dung email bằng C#

Đầu tiên, chúng tôi sẽ sử dụng Aspose.Cells for .NET để chuyển đổi dữ liệu Excel thành HTML để có thể nhúng vào nội dung email. Sau đó, chúng tôi sẽ sử dụng Aspose.Email for .NET để soạn email, chèn dữ liệu Excel vào nội dung email và gửi email. Sau đây là các bước để gửi dữ liệu Excel trong nội dung email bằng C#.

  • Tải sổ làm việc Excel bằng lớp Workbook của Aspose.Cells.
  • Lưu sổ làm việc vào MemoryStream ở định dạng HTML.
  • Đọc HTML từ luồng thành một đối tượng chuỗi.
  • Tạo một đối tượng MailMessage mới và đặt HtmlBody của nó thành nội dung HTML.
  • Tạo và cấu hình thể hiện của lớp SmtpClient.
  • Gửi email bằng phương thức SmtpClient.Send (MailMessage).

Mẫu mã sau đây cho thấy cách gửi dữ liệu Excel trong nội dung email bằng C#.

// Tải sổ làm việc Excel mong muốn
Workbook workbook = new Workbook("Data.xlsx");

// Lưu sổ làm việc vào MemoryStream ở định dạng HTML
MemoryStream ms = new MemoryStream();
workbook.Save(ms, SaveFormat.Html);
ms.Position = 0;

// Tạo một đối tượng StreamReader cho MemoryStream ở trên
StreamReader sr = new StreamReader(ms);

// Tải HTML đã lưu từ StreamReader vào một biến chuỗi
string strHtmlBody = sr.ReadToEnd();

// Xác định một email mới và đặt HtmlBody của nó
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;

// Tạo ứng dụng khách SMTP
SmtpClient client = new SmtpClient();
client.Host = "smtp.gmail.com";
client.Username = "Username";
client.Password = "Password";
client.Port = 587;
client.SecurityOptions = SecurityOptions.Auto;

// Gửi email
client.Send(message);

Nhận giấy phép API miễn phí

Bạn có thể sử dụng API Aspose mà không có giới hạn đánh giá bằng cách sử dụng giấy phép tạm thời miễn phí.

Sự kết luận

Trong bài viết này, bạn đã học cách nhúng và gửi dữ liệu Excel trong nội dung email bằng C# .NET. Bạn có thể chỉ cần cài đặt các API được đề cập và tích hợp mã được cung cấp vào các ứng dụng .NET của mình. Bên cạnh đó, bạn có thể khám phá thêm về các API bằng cách sử dụng tài liệu của chúng được cung cấp bên dưới.

Trong trường hợp bạn có bất kỳ câu hỏi nào, bạn có thể đăng lên diễn đàn của chúng tôi.

Xem thêm