protected void Button1_Click(object sender, EventArgs e)
{
Export("application/ms-excel", "学生成绩报表.xls");//调用函数传参(第一个参数为header的mime类型说明是xls,第二个参数是文件名)
}
///导出excle
///FileType 要保存为文件的类型
///FileName 要保存为文件的名称
private void Export(string FileType, string FileName)
{
Response.Charset = "GB2312"; //指定中字符 设置地区编码
Response.ContentEncoding = System.Text.Encoding.UTF7; //制订了文档编码形式即设置打开文件的格式(平时一定见过比如点击一个下载的按钮,浏览器默认就’打开‘’保存‘‘取消’的对话框,这就是设置这个对话框的)
Response.AppendHeader("Content-Disposition", "attachment;filename=" + HttpUtility.UrlEncode(FileName, Encoding.UTF8).ToString()); //输出头,指定文件名即输出文件类型
Response.ContentType = FileType;//只要输出Mime是application/ms-excel,浏览器访问的时候自然会保存成xls格式
//以上全为固定的写法
//这个是内部的一个bool值.具体什么作用你要自己看了.
this.EnableViewState = false;//取消本页视图状态
//以下就是输出流了.也差不多是固定写法
StringWriter tw = new StringWriter(); //定义stringwriter对象
HtmlTextWriter hw = new HtmlTextWriter(tw); //定义htmlwriter
GridView1.RenderControl(hw); //渲染gridivew1
Response.Write(tw.ToString()); //输出显示效果
Response.End(); //停止输出
}