下面是一个GridView导出Excel的代码,不知道为什么,一直没反应.大侠指点下.
protected void btnSend_Click(object sender, EventArgs e)
{
if (this.GridView1.Rows.Count == 0)
{
Response.Write("<script language:javascript>javascript:window.close();</script>");
}
Response.Clear();
Response.Buffer = true;
Response.Charset = "GB2312";
Response.AppendHeader("Content-Disposition", "attachment;filename=" + DateTime.Now.ToString("yyyyMMdd") + ".xls");
// 如果设置为 GetEncoding("GB2312");导出的文件将会出现乱码!!!
Response.ContentEncoding = System.Text.Encoding.GetEncoding("utf-8");
Response.ContentType = "application/ms-excel";//设置输出文件类型为excel文件。
System.IO.StringWriter oStringWriter = new System.IO.StringWriter();
System.Web.UI.HtmlTextWriter oHtmlTextWriter = new System.Web.UI.HtmlTextWriter(oStringWriter);
oHtmlTextWriter.Write("<table width='100%'><tr><td align='center' colspan ='7' height='40'><b><font size=5>" + "增员表" + "</font></b></td></tr><tr><td colspan='7' height='30'><b>" + "单位名称" + "</font></b> " +
" " +
" " +
" <b>" + sname + "</b></td></tr></table>");//把前两行按表格的形式导出,样式之类的也可以自己定义
this.GridView1.Columns[0].Visible = false;
this.GridView1.RenderControl(oHtmlTextWriter);
Response.Output.Write(oStringWriter.ToString());
Response.Flush();
Response.End();
}
public override void VerifyRenderingInServerForm(Control control)
{ }