2012-12-13 75 views
0

下面的代碼是工作了CSV文件,但是當我們使用相同的代碼來讀取Excel文件,它的文件使用POP3,我們如何可以下載Excel附件

foreach (MimeAttachment attach in msg.Attachments) 
{ 
if (attach.Filename != "") 
{ 
//read data from attachment 
string myString = attach.Body.Replace("=\r\n", ""); //to eliminate the '=\r\n' from email attachemnt 
Byte[] b = GetBytes(myString); 

// save attachment to disk 
System.IO.MemoryStream mem = new System.IO.MemoryStream(b, false); 
FileStream outStream = new FileStream(DownloadFilePath + "\\" + attach.Filename, FileMode.Create); 
mem.WriteTo(outStream); 
mem.Close(); 
outStream.Flush(); 
outStream.Close(); 
} 
} 

EX在返回不同的字母:

0M8R4KGxGuEAAAAAAAAAAAAAAAAAAAAAPgADAP7/CQAGAAAAAAAAAAAAAAACAAAAiwAAAAAAAAAA 
EAAAjQAAAAEAAAD+////AAAAAIgAAACMAAAA//////////////////////////////////////// 
//////////////////////////////////////////////////////////////////////////// 
//////////////////////////////////////////////////////////////////////////// 
//////////////////////////////////////////////////////////////////////////// 
//////////////////////////////////////////////////////////////////////////// 
//////////////////////////////////////////////////////////////////////////// 
//////////////////////////////////////////////////////////////////////////// 
//////////////////////////////////////////////////////////////////////////8J 
CBAAAAYFAGcyzQfJgAEABgYAAOEAAgCwBMEAAgAAAOIAAABcAHAACQAAYXNoYWFyIE0uICAgICAg 
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg 

回答

1

這對我的作品

foreach (OpenPop.Mime.MessagePart attachment in attachments) 
         { 
          if (attachment != null) 
          { 
           string ext = attachment.FileName.Split('.')[1]; 

           Filename = DateTime.Now.Ticks.ToString(); 
           FileInfo file = new FileInfo((AppDomain.CurrentDomain.BaseDirectory + "Downloaded//") + Filename + ".csv"); 

           // Check if the file already exists 
           if (!file.Exists) 
           { 
            attachment.Save(file); 
           } 

          } 
        } 

或試試這個

How to save email attachments in C#

+0

您是否嘗試過使用Excel附件的代碼,我的代碼也適用於CSV,問題在於Excel – Ashaar

+0

@Ashaar是否嘗試過?你使用任何DLL來獲取郵件? – Karthik

+0

是的,我正在使用'smtpop.dll' 在你的情況下,你使用的是什麼DLL也是它的開源或需要購買 – Ashaar

相關問題