Excelファイルは、行と列の形式でデータを保持および共有するために広く使用されています。さらに、Excelデータに対してさまざまな操作を実行し、視覚的に分析することができます。場合によっては、Excelシートのデータを電子メールメッセージに埋め込んで送信する必要があります。これを実現するために、この記事では、C#.NETでプログラムによって電子メールの本文でExcelデータを送信する方法について説明します。
電子メール本文でExcelデータを送信するためのC#.NET API
Excelデータを電子メールメッセージで送信するには、Aspose.Email for.NETを使用します。これは、.NETアプリケーション内から電子メールを作成および送信できる人気のある機能豊富なAPIです。さらに、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ライセンスを取得する
無料の一時ライセンスを使用すると、評価の制限なしにAsposeAPIを使用できます。
結論
この記事では、C#.NETを使用してExcelデータを電子メールの本文に埋め込んで送信する方法を学習しました。上記のAPIをインストールして、提供されたコードを.NETアプリケーションに統合するだけです。さらに、以下に示すドキュメントを使用して、APIの詳細を調べることができます。
ご不明な点がございましたら、フォーラムに投稿してください。