2012-12-13 96 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

相关问题