首页 新闻 搜索 专区 学院

请问,asp.net gridview导出到excel是aspx文件,是怎么回事??谢谢

0
悬赏园豆:5 [已关闭问题] 关闭于 2010-05-25 16:42

请问,asp.net gridview导出到excel是aspx文件,是怎么回事??谢谢

 

 

lovemc的主页 lovemc | 初学一级 | 园豆:13
提问于:2010-05-19 11:37
< >
分享
所有回答(4)
0

/// <summary>
/// 根据传入的控件并导出为Excel文件
/// </summary>
/// <param name="source">控件名</param>
/// <param name="filename">导出文件名</param>
public void ExportExcel(System.Web.UI.Control source, string filename)
{
    //设置Http的头信息,编码格式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;

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

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

    //输出
    HttpContext.Current.Response.Write(writer.ToString());
    HttpContext.Current.Response.End();
}

Astar | 园豆:40805 (高人七级) | 2010-05-19 11:52
导出到excel我已经写好了,但是迅雷默认下载的是aspx页面文件,而不是excel文件
支持(0) 反对(0) lovemc | 园豆:13 (初学一级) | 2010-05-19 11:54
@lovemc:弹出迅雷的时候选择取消,用默认下载,或到别的电脑试试。
支持(0) 反对(0) Astar | 园豆:40805 (高人七级) | 2010-05-19 13:35
0

在Response.End();之前,增加下面的二句试试:

Response.ContentType = "text/html";
page.RegisterStartupScript(
"onload", "<script language=javascript>window.location=window.location;window.alert();</script>");

 

上不了岸的鱼 | 园豆:4613 (老鸟四级) | 2010-05-19 13:23
这样可以,但是要先点取消迅雷下载,才弹出保存,才能从网页上下载。。。。能不能只从网页下载,而不弹出迅雷下载(迅雷下载的都是.aspx文件),
支持(0) 反对(0) lovemc | 园豆:13 (初学一级) | 2010-05-19 14:11
之所以弹出迅雷下载,是因为安装迅雷的时候,同事安装了浏览器插件,如果迅雷开启了浏览器监视功能,那么肯定是会弹出迅雷下载的。
支持(0) 反对(0) 上不了岸的鱼 | 园豆:4613 (老鸟四级) | 2010-05-19 15:21
0

迅雷的设置当中没有.xls这种格式的文件,所以下载不了。只能通过浏览器来下载了。。

aqwsxcdgfgdfgdfgd | 园豆:44 (初学一级) | 2010-05-19 13:29
0

一般情况下,迅雷会关联所有下载文件类型,

解决方案:

http://blog.csdn.net/ytc666/archive/2009/11/18/4830828.aspx

邀月 | 园豆:25375 (高人七级) | 2010-05-19 13:41
我跟他做的不太一样。。。。我没有引用dll,是自己写的导出到excel的方法,
支持(0) 反对(0) lovemc | 园豆:13 (初学一级) | 2010-05-19 14:24
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册