来高手指点啊,gridview导出到excel的问题
这是我的方法:
Response.Clear();
Response.AddHeader("Content-Type ", "application/octet-stream ");
Response.AddHeader("content-disposition", "attachment;filename=AJ_JC.xls");
Response.Charset = "UTF-8";
Response.ContentType = "application/vnd.xls";
System.IO.StringWriter stringWrite = new System.IO.StringWriter();
System.Web.UI.HtmlTextWriter htmlWrite = new HtmlTextWriter(stringWrite);
GridView1.AllowPaging = false;
GridView1.AllowSorting = false;
Bind1();
GridView1.Columns[0].Visible = false;
GridView1.RenderControl(htmlWrite);
Response.Write(stringWrite.ToString());
Response.End();
现在的问题是:
Bind1();绑定的是当前查询的数据然后导出
数据多的时候都可以成功导出,少的时候导出框就会一闪而过(我的gridview设置的是一页显示10条数据,基本查询的数据达到三页才可以导出,否则就是一闪而过,偶尔点导出按钮点个几十次能停留一次。。。让我狂⊙﹏⊙b汗)
我试了试,如果去掉Response.End();就没这个问题了,但是如果去掉Response.End();的话整个页面连textbox和button按钮就一块导出了特别难看
在线跪求解决办法
------解决方案--------------------Response.ContentType = "application/ms-excel";
记得禁用下ViewState
------解决方案-------------------- Response.Write(stringWrite.ToString());
Response.Flush();
Response.End();
------解决方案--------------------GridView1.AllowPaging = false;在这句前面加上GridView1.EnableViewState=false;
另外网上很多ASP.NET 导出EXCEL的例子你直接复制就可以用的
------解决方案--------------------Flush了么