关闭

ASP.net数据导出excel

792人阅读 评论(0) 收藏 举报
分类:

asp.net页面中数据导出到excle

1.创建web页面,通过数据库绑定,获取页面数据源。

(1)在页面中增加gridview控件。

(2)拖动工具栏中数据中的sqldatasource控件,然后配置数据源,比如连接oracle库中的数据源,配置oracle服务器名称,用户名,密码,端口,然后测试是否连接成功,如果成功则选择其中想绑定的表,选择后勾选需要显示在gridview中的字段,然后下一步确定。

(3)选中gridview控件的配置数据库源,直接下拉框显示sqldatasource即可获取当前表绑定到gridview中。

 (4)增加button,修改名称为Export,然后事件如下:

public void Export(string fileName, GridView gv)
        {
            HttpContext.Current.Response.Clear();
            HttpContext.Current.Response.AddHeader(
                "content-disposition", string.Format("attachment; filename={0}", fileName));
            HttpContext.Current.Response.ContentType = "application/ms-excel";
         


            using (StringWriter sw = new StringWriter())
            {
                using (HtmlTextWriter htw = new HtmlTextWriter(sw))
                {
                   
                    Table table = new Table();
                    table.GridLines = GridLines.Both;  //单元格之间添加实线

                  
                    if (gv.HeaderRow != null)
                    {
                        PrepareControlForExport(gv.HeaderRow);
                        table.Rows.Add(gv.HeaderRow);
                    }

            
                    foreach (GridViewRow row in gv.Rows)
                    {
                        PrepareControlForExport(row);
                        table.Rows.Add(row);
                    }

                
                    if (gv.FooterRow != null)
                    {
                        PrepareControlForExport(gv.FooterRow);
                        table.Rows.Add(gv.FooterRow);
                    }

                
                    table.RenderControl(htw);

                  
                    HttpContext.Current.Response.Write(sw.ToString());
                    HttpContext.Current.Response.End();
                }
            }
        }

调用上面函数即可,其中二个参数分别是导出excel的名称比如name.xls,另一个参数就是gridview控件名称,然后导出即可。

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:432630次
    • 积分:5560
    • 等级:
    • 排名:第4892名
    • 原创:108篇
    • 转载:203篇
    • 译文:0篇
    • 评论:29条
    博主的51cto
    http://shllmlovechh.blog.51cto.com
    最新评论