标签:excel ret use end http app 编码 viewstate pos
Asp.Net导出word为例,Excel等其他文件也一样
protected void Page_Load(object sender, EventArgs e) {string html = “网页html代码”; string fileName = "故事.doc"; DownloadDoc(fileName,html); } public void DownloadDoc(string fileName, string pageHtml) { //设置Http的头信息,编码格式 HttpContext.Current.Response.Buffer = true; HttpContext.Current.Response.Clear(); HttpContext.Current.Response.Charset = "gb2312"; HttpContext.Current.Response.ClearContent(); HttpContext.Current.Response.ClearHeaders(); Response.ContentEncoding = System.Text.Encoding.GetEncoding("gb2312"); HttpContext.Current.Response.ContentType = "application/ms-word"; HttpContext.Current.Response.AppendHeader("Content-Disposition", "attachment;filename=" + clFielName(fileName)); //关闭控件的视图状态 ,如果仍然为true,RenderControl将启用页的跟踪功能,存储与控件有关的跟踪信息 this.EnableViewState = false; HttpContext.Current.Response.Write(pageHtml); HttpContext.Current.Response.End(); } public string clFielName(string fileName) { System.Web.HttpContext curContext = System.Web.HttpContext.Current; string outputFileName = null; string browser = curContext.Request.UserAgent.ToUpper(); if (browser.Contains("MS") == true && browser.Contains("IE") == true) { outputFileName = System.Web.HttpUtility.UrlEncode(fileName); } else if (browser.Contains("FIREFOX") == true) { outputFileName = "\"" + fileName + "\""; } else { outputFileName = System.Web.HttpUtility.UrlEncode(fileName); } return outputFileName; }
判断不同的浏览器,然后编码
标签:excel ret use end http app 编码 viewstate pos
原文地址:https://www.cnblogs.com/webapi/p/10148555.html