asp.net把数据导出到Excel表格的代码

本文提供了一段详细的ASP.NET代码,用于将页面显示的数据导出为Excel表格,并介绍了数据获取、格式设置及输出流程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本文就平常需要把页面显示的数据导出成Excel表格做一个详细代码演示。

 asp.net把数据导出到Excel表格的代码 - 沧桑 -

对应的详细信息:如下图

 asp.net把数据导出到Excel表格的代码 - 沧桑 -

如图,根据当前的gv标题对应的id,然后生成excel表格

 asp.net把数据导出到Excel表格的代码 - 沧桑 -

实现代码如下:(请翻到第二页)

Asp.Net导出数据到Excel的代码:

 Code [http://www.xueit.com]
    protected void btnToExcel_Click(object sender, EventArgs e)
    {
        DGToExcel();
    }
    public void DGToExcel()
    {
        GridView gvNew = new GridView();

        gvNew.DataSource = GetData();
        gvNew.DataBind();

        System.Web.UI.Control ctl = gvNew;
        HttpContext.Current.Response.AppendHeader("Content-Disposition", "attachment;filename=Excel.xls");
        HttpContext.Current.Response.Charset = "UTF-8";
        HttpContext.Current.Response.ContentEncoding = System.Text.Encoding.Default;
        HttpContext.Current.Response.ContentType = "application/ms-excel";
        //ctl.Page.EnableViewState = false;
        System.IO.StringWriter tw = new System.IO.StringWriter();
        System.Web.UI.HtmlTextWriter hw = new System.Web.UI.HtmlTextWriter(tw);
        ctl.RenderControl(hw);
        HttpContext.Current.Response.Write(tw.ToString());
        HttpContext.Current.Response.End();
    }

    private DataTable GetData()
    {
        DataTable dt = CreateStructure();
        for (int i = 0; i < gvMsg.Rows.Count; i  )
        {
            CheckBox cb = (gvMsg.Rows[i].FindControl("chkSelect")) as CheckBox;
            if (cb.Checked)
            {
                int MsgId = 0;
                try
                {
                    MsgId = int.Parse((gvMsg.Rows[i].FindControl("lblId") as Label).Text);
                }
                catch (Exception)
                {
                    continue;
                }
                Message msg = MessageManage.GetMessageById(MsgId);
                DataRow dr = dt.NewRow();
                dr["编号"] = msg.Id;
                dr["标题"] = msg.Title;
                dr["内容"] = msg.Content;             
                dr["消息从何处发送"] = this.GetMsgAddress(msg.MsgType).ToString();
                dr["意向产品"] = GetProduct(MsgId);
                dr["代理人/发信人"] = msg.AgentManName;
                dr["代理区域"] = msg.AgentArea;
                dr["代理产品类型"] = GetType(msg.AgentType);
                dr["电话"] = msg.Phone;
                dr["地址"] = msg.Address;
                dr["发送时间"] = msg.SendTime;
                dt.Rows.Add(dr);
            }
        }

        return dt;
    }

    private DataTable CreateStructure()
    {      

        DataTable dt = new DataTable();
        dt.Columns.Add(new DataColumn("编号", typeof(int)));
        dt.Columns.Add(new DataColumn("标题", typeof(string)));
        dt.Columns.Add(new DataColumn("内容", typeof(string)));
        dt.Columns.Add(new DataColumn("消息从何处发送", typeof(string)));
        dt.Columns.Add(new DataColumn("意向产品", typeof(string)));
        dt.Columns.Add(new DataColumn("代理人/发信人", typeof(string)));
        dt.Columns.Add(new DataColumn("代理区域", typeof(string)));
        dt.Columns.Add(new DataColumn("代理产品类型", typeof(string)));
        dt.Columns.Add(new DataColumn("电话", typeof(string)));
        dt.Columns.Add(new DataColumn("地址", typeof(string)));
        dt.Columns.Add(new DataColumn("发送时间", typeof(DateTime)));
        return dt;
    }
你如果也有同样的需求,可以试一下以上代码哦。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值