2009-05-23 5 views
1

電子メールを送信するC#コードがあります。 電子メールの本文に、Excelシートの内容を送付したいと思います。Excelワークシートの内容をC#の電子メールに埋め込む方法は?

これを行う1つの方法は、Excelファイル内のすべてのレコードに対してhtml行を含むhtmlテーブルを作成し、このhtmlコードを電子メールの本文に埋め込むことです。

これを行う簡単な方法はありますか? Excelシートのパスを指定してテーブルを直接指定することができます。電子メールの本文にコピーされますか?

ありがとうございました。

答えて

0

これは、ExcelシートへのADODB接続を介して行うことができます。 http://support.microsoft.com/kb/306023

  1. オープンExcelシートにレコード
  2. コールrecordset.GetString(http://www.devguru.com/technologies/ado/quickref/recordset_getstring.html)。これは、シートの内容を文字列にダンプします。

これはおそらくExcelの自動化が関係していた、予定していたコードよりも短いかもしれません。

0

あなたはこれをC#でネイティブにやりたいと思っています。

C#でOffice Automationを使用して、スプレッドシートをHTMLファイル形式に保存することをお勧めします。このファイルをStreamReaderオブジェクトで開き、テキストをメッセージの本文に埋め込むことができます。

Microsoftは始めるためにいくつかのコードサンプルで、Excelを自動化の記事があります。

抜いてMicrosoft Visual C#.NETを http://support.microsoft.com/kb/302084

2

からMicrosoft Excelを自動化する方法が最も簡単に使用することですWorkbook.SendMail()メソッド。

例コード:

Excel.Workbook myWorkbook = xlApp.Workbooks["Book1.xls"]; 

string recipients = "[email protected]"; 
string subject = "Proposal for Review"; 
bool returnReceipt = false; 

myWorkbook.SendMail(recipients, subject, returnReceipt); 

(注)複数の受信者を持っている場合は、渡された引数がstring[]できるようにrecipientsパラメータは、実際System.Objectとして入力されていること。

出典:

(1)http://msdn.microsoft.com/en-us/library/microsoft.office.tools.excel.workbook.sendmail(VS.80).aspx

(2)http://msdn.microsoft.com/en-us/library/bb178034.aspx

あなたはまた、本当にロン・ド・ブルーインのSending mail from Excel with CDOアプローチを見てしたいのですが、Workbook.SendMail()メソッドかもしれません最も簡単です。

希望すると...

マイク

関連する問題