- - PR -
メモリ上のファイルのメール添付について
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2006-12-15 12:36
いつもお世話になっております。
下記についてご教示頂けますでしょうか。 メモリ上のエクセルデータをメール添付したいのですが、可能でしょうか? (送信ファイルを残さないために、PG内でDBからエクセルを作成し、それをディスク保存せずに添付したい) MailMessage.Attachments.Add(Attachment) とする際、 Attachment= New Attachment(param) で、 param には実ファイル名(string)を指定す以外に System.IO.Stream も指定できるかと思いますが、それを利用すれば可能でしょうか?(エクセル形式なので無理そうですが・・・) 一旦実ファイルを作成し、送信後削除する、といった方法しかないでしょうか? google 検索していて見つけましたが、下記の参照記事URLの「API関数一覧→■SMTPのAPI」にある「smtpc_addref_attach_mem」と同じ処理が .net でできないかと思っています。 |
|
投稿日時: 2006-12-15 12:42
試してないですけど、MemoryStream使えばいいのではないでしょうか?
そもそもメモリ上のエクセルデータってどんな形式で保持しているのでしょう? |
|
投稿日時: 2006-12-15 13:31
レスありがとうございます!
Excel.Application を使用し、 Workbooks.Add で新規作成後、通常なら SaveAs などで保存すると思うのですが、 SaveAs をせずに添付できないものかと・・・。 イメージ的にはこんな感じなのですが・・・ Dim xlBook As Excel.Workbook = xlApp.Workbooks.Add() ・・・ xlBook の Cells 操作でシート作成 ・・・ Attachment= New Attachment(xlBook) MailMessage.Attachments.Add(Attachment) ・・・ セーブせずに ・・・ xlBook.Close() |
|
投稿日時: 2006-12-17 17:22
Windows アプリなのか、Web アプリなのか。
ファイルを残さない=保存して送信して削除、ではないのか? _________________ |
1