代码改变世界

ExtAspNet从DataTable里导出Excel

2017-06-27 22:00  tlnshuju  阅读(155)  评论(0编辑  收藏  举报
 protected void btn_ToExcel_Click(object sender, EventArgs e)
    {
        Response.ClearContent();
        Response.AddHeader("content-disposition", "attachment; filename=MyExcelFile.xls");
        Response.ContentType = "application/excel";
        Response.Write(GetDataTableHtml((DataTable)ViewState["tt"]));
        Response.End();
    }


private string GetDataTableHtml(DataTable dt)
    {
        StringBuilder sb = new StringBuilder();
        sb.Append("<table cellspacing=\"0\" rules=\"all\" border=\"1\" style=\"border-collapse:collapse;\">");
        sb.Append("<tr>");
        foreach (DataColumn column in dt.Columns)
        {
            sb.AppendFormat("<td>{0}</td>", column.Caption);
        }
        sb.Append("</tr>");

        foreach (DataRow row in dt.Rows)
        {
            sb.Append("<tr>");
            for (int i = 0; i < dt.Columns.Count;i++ )
            {
                string html = row[i].ToString();
                sb.AppendFormat("<td>{0}</td>", html);
            }
            sb.Append("</tr>");
        }
        sb.Append("</table>");
        return sb.ToString();
    }