private void toexcel(string title)
{
try
{
Encoding encContent = Encoding.GetEncoding("utf-8");
int count = GridView1.Columns.Count;
Response.Clear();
Response.ClearContent();
Response.ClearHeaders();
Response.Buffer = true;
Response.Charset = encContent.WebName;
Response.ContentEncoding = encContent;
Response.ContentType = "application/vnd.ms-excel";
Response.Write(string.Format("<meta http-equiv=Content-Type content=text/html;charset={0}>", encContent.WebName));
string rename = HttpUtility.UrlEncode(title, Encoding.UTF8);
Response.AppendHeader("content-disposition", string.Format("attachment;filename={0}.xls", rename));
StringBuilder titleName = new StringBuilder();
string colspanCount = string.Format("<table><tr><td colspan=\"{0}\"", count);
titleName.Append(colspanCount);
titleName.Append("style=\"font-family:宋体;font-size:12.0pt;font-weight:700;");
titleName.Append("text-align:center;vertical-align:middle;\">");
titleName.Append(string.Format("{0}</td></tr></table>", title));
EnableViewState = false;
StringWriter sw = new StringWriter();
HtmlTextWriter htw = new HtmlTextWriter(sw);
this.GridView1.RenderControl(htw);
Response.Write(AddExcelHead(title));
Response.Write(titleName.ToString());
Response.Write(sw.ToString());
Response.Write(AddExcelbottom());
sw.Close();
Response.End();
}
catch
{
}
}
protected void btn_toexcel_Click(object sender, EventArgs e)
{
string orderid = "";
if (Request.Params["id"] != null)
{
orderid = Request.Params["id"].ToString();
}
toexcel("订单" + orderid + "详细");
}
public static string AddExcelHead(string title)
{
StringBuilder sb = new StringBuilder();
sb.Append("<html xmlns:x=\"urn:schemas-microsoft-com:office:excel\">");
sb.Append(" <head>");
sb.Append(" <!--[if gte mso 9]><xml>");
sb.Append("<x:ExcelWorkbook>");
sb.Append("<x:ExcelWorksheets>");
sb.Append("<x:ExcelWorksheet>");
sb.Append(string.Format("<x:Name>{0}</x:Name>", title));
sb.Append("<x:WorksheetOptions>");
sb.Append("<x:Print>");
sb.Append("<x:ValidPrinterInfo />");
sb.Append(" </x:Print>");
sb.Append("</x:WorksheetOptions>");
sb.Append("</x:ExcelWorksheet>");
sb.Append("</x:ExcelWorksheets>");
sb.Append("</x:ExcelWorkbook>");
sb.Append("</xml>");
sb.Append("<![endif]-->");
sb.Append(" </head>");
sb.Append("<body>");
return sb.ToString();
}
public static string AddExcelbottom()
{
StringBuilder sb = new StringBuilder();
sb.Append("</body>");
sb.Append("</html>");
return sb.ToString();
}
public override void VerifyRenderingInServerForm(Control control)
{
}