我把数据导入到EXCEL,后保存到一个路径,然后用Response.WfriteFile(excel路径)把它输出到客户端.
在生成EXCEL时,我是通过提供客户端下载的方式,让客户端得到该EXCEL文件.
但问题是:每次我运行,提供的文件下载并不是我生成的EXCEL文件,而是些什么CA6NS5QJ.aspx/CA3AY1VB.aspx之类的网页文件,并且每次运行后都是不相同的.以前我做的都可以提供生成的EXCEL文件下载的,不知道怎么搞的现在不行了.
请大家帮帮我啊??
---------------------------------------------------------------
FileInfo fi=new FileInfo(filepath);
System.Web.HttpContext.Current.Response.Clear();
System.Web.HttpContext.Current.Response.ClearHeaders();
System.Web.HttpContext.Current.Response.Buffer = false;
System.Web.HttpContext.Current.Response.ContentType = "application/octet-stream";
System.Web.HttpContext.Current.Response.AppendHeader("Content-Disposition","attachment;filename=" +HttpUtility.UrlEncode(fi.FullName,System.Text.Encoding.UTF8));
System.Web.HttpContext.Current.Response.AppendHeader("Content-Length",fi.Length.ToString());
System.Web.HttpContext.Current.Response.WriteFile(fi.FullName);
System.Web.HttpContext.Current.Response.Flush();
fi.Delete();
System.Web.HttpContext.Current.Response.End();
---------------------------------------------------------------
可以用类似下面的代码导出到excel:
Response.ContentType = "application/vnd.ms-excel";
Response.Charset = "";
this.EnableViewState = false;
System.IO.StringWriter sw = new System.IO.StringWriter();
System.Web.UI.HtmlTextWriter hw = new System.Web.UI.HtmlTextWriter(sw);
int nCur = dgShow.CurrentPageIndex;
int nSize = dgShow.PageSize;
dgShow.AllowPaging = false;
BindData();
dgShow.Columns[7].Visible =false;
dgShow.RenderControl(hw);
dgShow.Columns[7].Visible =true;
//以下恢复分页
dgShow.AllowPaging = true;
dgShow.CurrentPageIndex = nCur;
dgShow.PageSize = nSize;
BindData();
Response.Write(sw.ToString());
Response.End();