在Asp.net中将GridView打印为word或者Excel
学到的新东东,GridView打印为word,呵呵
1.打印按钮函数
1 |
protected void Button_print_Click(object sender, EventArgs e) { System.Web.HttpContext HC = System.Web.HttpContext.Current; HC.Response.Clear(); HC.Response.Charset = "GB2312"; HC.Response.Buffer = true; HC.Response.ContentEncoding = System.Text.Encoding.UTF7; HC.Response.AddHeader("Content-Disposition", "attachment;filename=" + HttpUtility.UrlEncode("查询结果打印", System.Text.Encoding.UTF8) + ".doc"); HC.Response.ContentType = "application/ms-word";//如果要打印为excel格式,则换为"application/excel" this.EnableViewState = false; System.IO.StringWriter sw = new System.IO.StringWriter(); System.Web.UI.HtmlTextWriter htw = new System.Web.UI.HtmlTextWriter(sw); this.GV_result.RenderControl(htw); HC.Response.Write(sw.ToString()); HC.Response.End(); }//打印输出按钮 |
2.必须再写这个函数
1 |
public override void VerifyRenderingInServerForm(System.Web.UI.Control control) { } |
3.在.aspx页面page里边加上
1 |
EnableEventValidation="false"
|
上面这三步是必须的