C#导出Excel

HTML格式导出Excel

public static string ExportTable()
        {
            StringBuilder sb = new StringBuilder();
 
            sb.Append("<html xmlns:v="urn:schemas-microsoft-com:vml"xmlns:o="urn:schemas-microsoft-com:office:office"xmlns:x="urn:schemas-microsoft-com:office:excel"xmlns=".w3.org/TR/REC-html40">");
            sb.Append("<head>");
            sb.AppendLine("<meta http-equiv="Content-Type" content="text/html; charset=utf-8">");
            sb.Append("</head>");
            sb.Append("<body>");
 
            sb.AppendLine("<table cellspacing="0" cellpadding="5" rules="all" border="1" width="800px">");
 
            sb.AppendLine("<tr style="font-weight: bold; white-space: nowrap;800px;">");
            sb.Append("<td style="60px;">序</td>");
            sb.Append("<td style="200px;">姓名</td>");
            sb.Append("<td style="100px;">年龄</td>");
            sb.Append("</tr>");
 
            Random rm = new Random();
 
            for (int i = 0; i < 100; i++)
            {
                sb.Append("<tr>");
                sb.AppendFormat("<td>{0}</td>", i + 1);
                sb.AppendFormat("<td>张{0}</td>", i + 1);
                sb.AppendFormat("<td>{0}</td>", rm.Next(0,100));
                sb.Append("</tr>");
            }
 
            sb.AppendLine("</table>");
            sb.Append("</body>");
            sb.Append("</html>");
 
            return sb.ToString();
        }
 
        public static void ExportToExcel(Page page)
        {
            page.Response.Clear();
            page.Response.Buffer = true;
            //page.Response.Charset = "GB2312";
            page.Response.AppendHeader("Content-Disposition", "attachment;filename=" + System.Web.HttpUtility.UrlEncode("导出Excel", System.Text.Encoding.UTF8) + ".xls");
            page.Response.ContentEncoding = System.Text.Encoding.UTF8;
            page.Response.ContentType = "application/ms-excel";
            page.EnableViewState = false;
            page.Response.Write(ExportTable());
            page.Response.End();
        }