asp.net gridview数据导出到excel?

2025-04-17 06:07:12
推荐回答(2个)
回答(1):

参考一下我做的,可以直接复制

protected void Button1_Click(object sender, EventArgs e)
{
ExcelOut(this.GridView1);
}

public void ExcelOut(GridView gv)
{
if (gv.Rows.Count > 0)
{
Response.Clear();
Response.ClearContent();
Response.AddHeader("Content-Disposition", "attachment; filename=" + DateTime.Now.ToString("_yyyyMMdd_HHmmss") + ".xls");
Response.ContentEncoding = System.Text.Encoding.UTF8;
Response.ContentType = "application/ms-excel";
StringWriter sw = new StringWriter();
HtmlTextWriter htw = new HtmlTextWriter(sw);
gv.RenderControl(htw);
Response.Write(sw.ToString());
Response.Flush();
Response.End();
}
else
{
Response.Write("没有数据");
}
}
public override void VerifyRenderingInServerForm(Control control)
{
//base.VerifyRenderingInServerForm(control);
}

回答(2):

///


/// 在 Ajax 中导出GridView为Excel,先将 导出动作 按钮的的ID 加入到 UpdatePanel.Triggers属性中,并重写 页面的 VerifyRenderingInServerForm 方法
///

///
///
protected void BtnExport_Click(object sender, EventArgs e)
{
BtnQuery_Click(sender, e);//查询数据并绑定到GridView
using (System.IO.StringWriter sw = new System.IO.StringWriter())
{
GridView1.RenderControl(new HtmlTextWriter(sw));
Response.Clear();

string FileName = HttpUtility.UrlEncode("资金综合报表"+DateTime.Now.ToString("yyyy-MM-dd"), Encoding.UTF8) + ".xls";

Response.ContentEncoding = Encoding.UTF8;
Response.HeaderEncoding = Encoding.UTF8;
Response.ContentType = "application/ms-excel";
Response.AppendHeader("Content-Disposition", "attachment;filename=" + FileName);

Response.Write(sw.ToString());
Response.End();

}
}
public override void VerifyRenderingInServerForm(Control control)
{
}
我可以帮助你,你先设置我最佳答案后,我百度Hii教你。你的串号我已经记下,采纳后我会帮你制作