gridview导出到excel出现问题

gridview分页为每页14条记录,导出时是都导出。当查询的记录很多时导出正常当查询的记录只有一页或两页时就不会出现选择导出的excel文件存放位置的对话框,所以就应该... gridview分页为每页14条记录,导出时是都导出。
当查询的记录很多时导出正常
当查询的记录只有一页或两页时就不会出现选择导出的excel文件存放位置的对话框,所以就应该算是导出不成功吧,请问高手这是什么情况?怎么解决?
下面是导出excel的代码
gvData.AllowPaging = false;
gvData.DataBind();
//导出文件的文件名
string fileName = string.Format("{0:yyyyMMddHHmmss}", DateTime.Now);
//导出的具体实现逻辑
//防止出现乱码,加上这行可以防止在只有一行数据时出现乱码
HttpContext.Current.Response.Write("<meta http-equiv=Content-Type content=text/html;charset=UTF-8>");
//Excel
HttpContext.Current.Response.AppendHeader("Content-Disposition", "attachment;filename=" + HttpUtility.UrlEncode(filename + ".xls", System.Text.Encoding.UTF8));
HttpContext.Current.Response.ContentType = "application/ms-excel";
HttpContext.Current.Response.Charset = "UTF-8";
HttpContext.Current.Response.ContentEncoding = System.Text.Encoding.UTF8;

//关闭控件的视图状态
gvData.Page.EnableViewState = false;

//初始化HtmlWriter
System.IO.StringWriter writer = new System.IO.StringWriter();
System.Web.UI.HtmlTextWriter htmlWriter = new System.Web.UI.HtmlTextWriter(writer);
gvData.RenderControl(htmlWriter);

//输出
HttpContext.Current.Response.Write(writer.ToString());
HttpContext.Current.Response.End();
gvData.AllowPaging = true;
展开
 我来答
jack87918
2011-10-12 · TA获得超过2048个赞
知道小有建树答主
回答量:1618
采纳率:100%
帮助的人:1454万
展开全部
首先,你这里提到你要把GridView里面的数据都导出到Excel,我不是很清楚你是分页的数据都导出到excel,还是一页一页的导出。如果是分页的数据整个导出的话,你这种方法是行不通的,因为html文本转为excel格式,只能将当前页面的内容弄进去。
其次,虽然我没有测试你写的代码,但是简单看了下,我觉得是不会出现你说的“多页数据时可以导出,一两页数据时导不出来”这种情况的。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式