在以下按钮单击事件中实现:private void btnMIME_Click(object sender, System.EventArgs e){dgShow.AllowPaging = false; BindData(); Response.ContentType = "application/vnd.ms-excel"; Response.AddHeader("Content-Disposition", "inline;filename=" + HttpUtility.UrlEncode("下载文件.xls",Encoding.UTF8 ) );
//如果输出为Word,修改为以下代码 //Response.ContentType = "application/ms-word" //Response.AddHeader("Content-Disposition", "inline;filename=test.doc") StringBuilder sb=new StringBuilder(); System.IO.StringWriter sw = new System.IO.StringWriter(sb); System.Web.UI.HtmlTextWriter hw = new System.Web.UI.HtmlTextWriter(sw); sb.Append("<html><body>"); dgShow.RenderControl(hw); sb.Append("</body></html>"); Response.Write(sb.ToString()); Response.End();dgShow.AllowPaging = true;BindData(); }注:1.若DataGrid中有按钮列,则在导出前应先将其隐藏.2.若DataGrid有分页,而又要打印所有数据的话就应先取消分页.若为VS.NET2005中的数据绑定新控件GridView,以上代码会提示异常错误,经网上搜索,解决方案如下:
1、在导出界面中重载 public override void VerifyRenderingInServerForm(Control control) { //base.VerifyRenderingInServerForm(control); } 2、在web.config中修改<pages enableEventValidation ="false" ></pages>或
<%@ Page Language="C#" EnableEventValidation = "false" AutoEventWireup="true"
CodeFile="ExportGridView.aspx.cs" Inherits="ExportGridView" %>
Copyright @ 2007-2012 敏韬网(敏而好学,文韬武略--MinTao.Net)(学习笔记) Inc All Rights Reserved. 闵涛 E_mail:admin@mintao.net(欢迎提供学习资源)
鄂公网安备 42011102001154号
站长:MinTao ICP备案号:鄂ICP备11006601号-18