|
|
|
การสร้าง ไฟล์ Excel หลังจากนั้น ให้ไฟลที่สร้าง เป็นไฟล์แนบ และส่งเมล มันสามารถทำได้ไหมครับ |
|
|
|
|
|
|
|
ผมสร้าง excel ด้วย Microsoft.Office.Interop.Excel;
สร้างได้สำเร็จเรียบร้อย
แต่อยากสร้างแล้ว ทำเป็น ไฟล์แนบส่งเมล เลย มันทำได้ไหมครับ
Code (C#)
Excel.Application xlApp;
Excel.Workbook xlWorkbook;
Excel.Worksheet newsheet = null;
xlApp = new Excel.Application();
xlWorkbook = xlApp.Workbooks.Add(mis);
newsheet = (Excel.Worksheet)xlWorkbook.Worksheets.Add(mis, mis, mis, mis);
newsheet.Name = dt_supplier.Rows[i][1].ToString().Trim();
newsheet.Cells[7, 1] = dt_supplier.Rows[i][2].ToString().Trim();
newsheet.Cells[7, 6] = dt_supplier.Rows[i][1].ToString().Trim();
//แปลงเป็น Byte[] เพื่อจะทำเป็นไฟล์แนบ email
MemoryStream memorystream = new MemoryStream();
xlWorkbook.SaveAs(memorystream);
byte[] bytes = memorystream.ToArray();
//ส่งเมล พร้อมไฟล์แนบ
using (MailMessage mm = new MailMessage("[email protected]", "[email protected]"))
{
mm.Attachments.Add(new Attachment(new MemoryStream(bytes), "Evaluation.xlsx"));
mm.Subject = "test_Eva";
mm.Body = "ทดสอบๆๆ".Replace(Environment.NewLine, "<br />");
//mm.CC.Add(cc);
mm.IsBodyHtml = true;
SmtpClient smtp = new SmtpClient();
smtp.Host = "smtp.gmail.com";
smtp.EnableSsl = true;
System.Net.NetworkCredential credentials = new System.Net.NetworkCredential();
credentials.UserName = "[email protected]";
credentials.Password = "*********";
smtp.UseDefaultCredentials = true;
smtp.Credentials = credentials;
smtp.Port = 587;
smtp.Send(mm);
}
xlWorkbook.Close(false, mis, mis);
xlApp.Quit();
System.Runtime.InteropServices.Marshal.ReleaseComObject(xlApp);
System.Runtime.InteropServices.Marshal.ReleaseComObject(xlWorkbook);
System.Runtime.InteropServices.Marshal.ReleaseComObject(newsheet);
xlApp = null;
xlWorkbook = null;
newsheet = null;
GC.Collect();
code ด้านบน เป็นcode ที่สร้าง excel พร้อมส่ง email แนบไฟล excel ที่สร้าง
สรุปว่า send mail ได้ compile ผ่านหมด แต่ ไฟลแนบ เปิดไม่ได้
พอมีวิธีที่ทำให้ผมส่งเมลพร้อมแนบไฟล์สำเร็จบ้างไหมครับ ติดตรงนี้นานมากกกกกกกแล้ว
ช่วยด้วยคับบบบ
Tag : ASP, C#, VS 2012 (.NET 4.x)
|
ประวัติการแก้ไข 2015-10-24 03:17:00
|
|
|
|
|
Date :
2015-10-24 03:15:58 |
By :
poomberry |
View :
1240 |
Reply :
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Code (C#)
//ส่งเมล พร้อมไฟล์แนบ
using (MailMessage mm = new MailMessage("[email protected]", "[email protected]"))
{
mm.Attachments.Add(new Attachment(new MemoryStream(bytes), "Evaluation.xlsx"));
mm.Subject = "test_Eva";
mm.Body = "ทดสอบๆๆ".Replace(Environment.NewLine, "<br />");
//mm.CC.Add(cc);
mm.IsBodyHtml = true;
SmtpClient smtp = new SmtpClient();
smtp.Host = "smtp.gmail.com";
smtp.EnableSsl = true;
System.Net.NetworkCredential credentials = new System.Net.NetworkCredential();
credentials.UserName = "[email protected]";
credentials.Password = "*********";
smtp.UseDefaultCredentials = true;
smtp.Credentials = credentials;
smtp.Port = 587;
smtp.Send(mm);
}
คุณจะต้องแนบตอนที่มัน Save หรือ Generate ไฟล์เสร็จแล้วครับ
|
|
|
|
|
Date :
2015-10-24 15:36:23 |
By :
mr.win |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 04
|