.NET 中一种将DataTable表下载到本地Excel文件方法

代码清单:

 

protected void BtnDown_Click(object sender, EventArgs e)

{

    try

    {

        DataTable dt = ForConfirmValidORDown(true);



        System.Text.StringBuilder sb = new System.Text.StringBuilder();

        if (dt != null && dt.Rows.Count > 0) 

        {

            sb.Append("<div><table border='1'>");



            //表头

            sb.Append("<tr>");

            for (int i = 0; i < dt.Columns.Count; i++)

            {

                sb.Append("<th>" + dt.Columns[i].ColumnName + "</th>");

            }

            sb.Append("</tr>");



            string trBg = "";

            //记录

            foreach (DataRow dr in dt.Rows)

            {

                if (trBg == "")

                {

                    trBg = "#F1EED5";

                }

                else {

                    trBg = "";

                }



                sb.Append("<tr style='background:" + trBg + "'>");

                object[] objs = dr.ItemArray;

                foreach (object obj in objs)

                {

                    string str = obj.ToString();

                    sb.Append("<th>" + str + "</th>");

                }

                sb.Append("</tr>");

            }



            sb.Append("</table></div>");

        }



        Response.ClearContent();

        Response.AddHeader("content-disposition", "attachment; filename=" + HttpUtility.UrlEncode(downFileName));

        Response.ContentEncoding = System.Text.Encoding.UTF8;

        Response.ContentType = "application/excel";

        Response.Write(sb.ToString());

    }

    catch (Exception ex)

    {

        DoException(ex);

    }

    Response.End();

}

你可能感兴趣的:(Datatable)