Im sử dụng mã này để Gửi Thư có đính kèm excel từ GridView, nó hoạt động tốt cho phần thư nhưng tệp đính kèm excel luôn trống. Tôi đã sửa mã và đảm bảo rằng nguồn dữ liệu của GridView chuyển dữ liệu cần thiết cho GridView, có vẻ như im không render GridView để excel đúng. toàn bộ quá trình là một cho mỗi vòng lặp tùy thuộc vào số lượng các yếu tố bên trong foreach ..Lấy Excel Trống khi đính kèm excel trong Mail
Tôi có thiếu một số mã không?
protected void MailButton_Click(object sender, EventArgs e)
{
List<FOAM> foamList = new List<FOAM>(servs.GetAreaList());
foreach (FOAM foam in foamList)
{
Session["Area"] = foam.ItemAreaCode;
Session["Principal"] = foam.PrincipalAmount;
Session["Accountability"] = foam.AccountableAmount;
Session["Count"] = foam.ItemCount;
foamdetails.ItemAreaCode = foam.ItemAreaCode;
FOAMTemplateGridview.DataSource = servs.GetFoamAsOfUnsettledforAOM(foamdetails);
FOAMTemplateGridview.DataBind();
StringWriter _writer = new StringWriter();
HttpContext.Current.Server.Execute("AreaManagersMail.aspx", _writer);
StringWriter stw = new StringWriter();
HtmlTextWriter hw = new HtmlTextWriter(stw);
FOAMTemplateGridview.RenderControl(hw);
MailMessage newMail = new MailMessage();
newMail.Priority = MailPriority.High;
newMail.To.Add("tes[email protected]");
newMail.Subject = "Unsettled FOAM As of " + DateTime.Today.ToString("MMMM dd, yyyy") + "-A" + foam.ItemAreaCode;
System.Text.Encoding Enc = System.Text.Encoding.ASCII;
byte[] mBArray = Enc.GetBytes(stw.ToString());
System.IO.MemoryStream mAtt = new System.IO.MemoryStream(mBArray, false);
newMail.Attachments.Add(new Attachment(mAtt, "test.xls"));
newMail.Body = _writer.ToString();
newMail.From = new MailAddress("[email protected]");
newMail.IsBodyHtml = true;
SmtpClient SmtpSender = new SmtpClient();
SmtpSender.Port = 25;
SmtpSender.Host = "MailHost";
SmtpSender.Send(newMail);
newMail.Dispose();
}
}
thử gỡ lỗi và kiểm tra xem bạn có đang nhận 'dữ liệu trong trình gỡ rối' hay không – BNN
@nadeem có tôi đã thử và chắc chắn rằng tôi nhận dữ liệu từ nguồn dữ liệu của GridView nhưng khi kiểm tra mBarray nó lấy không có thứ nguyên . – user2705620
@ User6675636b20796f7521 Từ nơi nào bạn nhận được dữ liệu sẽ được viết bằng excel? – Mairaj