ASP.net数据导出excel

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控件名称,然后导出即可。

你可能感兴趣的:(ASP.net数据导出excel)