如何从asp.net中的html文档中将保存类型更改为Microsoft Word 97-2003文档(.doc)

时间:2015-03-10 07:14:29

标签: c# asp.net ms-word smtp

我在邮件中发送一个.doc文件。但它的保存类型显示为HTML文档(.html)。因此,此文件仅在ms系统中仅在系统中打开而不在智能手机中打开。

如何将保存类型更改为Microsoft Word? enter image description here

代码

string Projname = Session["Projectname"].ToString();
                System.IO.StringWriter stringWrite = new System.IO.StringWriter();
                System.Web.UI.HtmlTextWriter htmlWrite = new HtmlTextWriter(stringWrite);

                design.RenderControl(htmlWrite);

                string strBuilder = stringWrite.ToString();
                string strPath = Request.PhysicalApplicationPath + "\\Temp\\WeeklyReport of " + Projname + ".doc";
                LblNoteMsg.Text = strPath;
                if (File.Exists(strPath))
                {
                    var counter = 1;
                    strPath = strPath.Replace(".doc", " (" + counter + ").doc");
                    while (File.Exists(strPath))
                    {
                        strPath = strPath.Replace("(" + counter + ").doc", "(" + (counter + 1) + ").doc");
                        counter++;
                    }
                }
                using (var fStream = File.Create(strPath))
                {

                    fStream.Close();
                    fStream.Dispose();

                }
                 using(StreamWriter sWriter = new StreamWriter(strPath))
                   {
                sWriter.Write(strBuilder);
                sWriter.Close();
                sWriter.Dispose();
                Response.Clear();
                   }
                DateTime input = DateTime.Now;
                int delta = DayOfWeek.Monday - input.DayOfWeek;
                DateTime dats = DateTime.Now.AddDays(delta);
                //this week
                DateTime monday = input.AddDays(delta);
                string MonDate = monday.ToShortDateString();
                DateTime sat = monday.AddDays(5);
                string SatDate = sat.ToShortDateString();
                StreamReader r = new StreamReader(Server.MapPath("~/WeeklyMail.txt"));
                string body = r.ReadToEnd();
                MailMessage Msg = new MailMessage();
                string MailId = txtMailId.Text;
                foreach (string ss in MailId.Split(",".ToCharArray()))
                {
                    if (string.IsNullOrEmpty(ss) == false)
                    {
                        Msg.To.Add(new MailAddress(ss));
                    }
                }
               Msg.Bcc.Add(new MailAddress("support@domainname.com"));
                body = body.Replace("<%MonDate%>", MonDate);
                body = body.Replace("<%SatDate%>", SatDate);
                Msg.Subject = "Weekly status Report of " + Projname + "," + DateTime.Now.ToShortDateString() + "";
                Msg.Body = body;
                Msg.IsBodyHtml = true;
                Msg.Attachments.Add(new Attachment(strPath));
             //   File.Delete(strPath);
                SmtpClient MailServer = new SmtpClient();
                try
                {
                    MailServer.Send(Msg);
                    string reply = (Msg.DeliveryNotificationOptions = System.Net.Mail.DeliveryNotificationOptions.OnSuccess).ToString();

0 个答案:

没有答案