本文是asp.net Gridview操作小积累,用得着的可以参考一下,本例子思想来源于webcast
前台关键代码:
<asp:GridView ID="GridView1" runat="server">
</asp:GridView>
<asp:Button ID="butExport" runat="server" Text="Export"
οnclick="butExport_Click" />
后台关键代码:
protected void butExport_Click(object sender, EventArgs e)
{
Response.Clear();//清除缓冲区所有内容,防止影响导入到excel的数据
Response.Buffer = true; //response缓存
Response.Charset = "GB2312"; //设置输出流字符集
Response.AppendHeader("Content-Disposition","attachment;filename="+@"d:/person.xls"); //设置excel存放路径
//如果设置GetEncoding(“GB2312”)可能会出现乱码问题
Response.ContentEncoding = System.Text.Encoding.UTF8;
//设置为excel文件输出
Response.ContentType = "application/ms-excel";
System.IO.StringWriter oStringWriter = new System.IO.StringWriter();
System.Web.UI.HtmlTextWriter oHtmlWriter = new HtmlTextWriter(oStringWriter);
this.GridView1.RenderControl(oHtmlWriter);
Response.Output.Write(oStringWriter.ToString());
Response.Flush();
Response.End();
}
//下面类必须重写,否则运行时会报错
public override void VerifyRenderingInServerForm(Control control)
{
//base.VerifyRenderingInServerForm(control);
}