• ASP.NET该如何把Gridview中的数据导出到Excel?
  • 发布于 2个月前
  • 209 热度
    2 评论
  • 林俪芳
  • 5 粉丝 34 篇博客
  •   

最近做的一个报价系统用户要求能把列表里的数据导出到Excel,我这个列表是直接使用.NET自带的Gridview控件实现大,大致效果如下:

我现在要把这Gridview中的数据导出到Excel这个该如何实现?

用户评论
  • 没逍遥
  • 其实Gridview本身有一种很简单的方法实现数据导出到Excel的功能,大概步骤如下:

    第一步:你需要在你的.aspx的文件的头部加上一句EnableEventValidation="false"

    <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="PriceCompareForm.aspx.cs"
        Inherits="Com.Kion.CN.EBidding.WebUI.PriceCompareForm" EnableEventValidation="false" %>
    第二步:添加一个按钮控件,并在Click事件中写入如下代码:

        protected void btnExportSum_Click(object sender, EventArgs e)
            {
                GVList1.AllowPaging = false;
                StringWriter sw = new StringWriter();
                HtmlTextWriter htmlwrite = new HtmlTextWriter(sw);
                string excelName = "ExportList.xls";
                Response.ContentType = "application/ms-excel";
                Response.AppendHeader("Content-Disposition", "attachment;filename=" + Server.UrlEncode(excelName));
                GVList1.DataBind();
                GVList1.RenderControl(htmlwrite);
                Response.Write(sw.ToString());
                Response.Flush();
                Response.End();
                GVList1.AllowPaging = true;
                GVList1.DataBind();
            }
    第三步:这一步很重要,需要在.cs文件加上如下一段话:

            public override void VerifyRenderingInServerForm(Control control)
            {
                // Confirms that an HtmlForm control is rendered for        
                //如果要限制控件必须位于<form runat=server>标记以内,则请先呼叫这个方法,才进行展现,如此一来,如果控件放在标记以外,便会显示错误信息。
            }
    好了,你只要照着上面的代码就可以快速实现Gridview导出数据到Excel的功能了

  • 2018/3/27 11:23:00 [ 0 ] [ 0 ] 回复