以前代码:
public static void htmlToExcel(HttpContext context, string title, string html, string fileCss = "", string SheetName = "") { var Response = context.Response; string html1 = html; Response.ContentType = "application/force-download"; Response.AddHeader("content-disposition", "attachment; filename=" + title + ".xls"); Response.Write("<html xmlns:x=\"urn:schemas-microsoft-com:office:excel\">"); Response.Write("<head>"); Response.Write("<META http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\">"); if (fileCss != "") { string cssText = string.Empty; StreamReader sr = new StreamReader(fileCss); var line = string.Empty; while ((line = sr.ReadLine()) != null) { cssText += line; } sr.Close(); Response.Write("<style>" + cssText + "</style>"); } Response.Write("<!--[if gte mso 9]><xml>"); Response.Write("<x:ExcelWorkbook>"); Response.Write("<x:ExcelWorksheets>"); Response.Write("<x:ExcelWorksheet>"); if (!Exec.IsNullOrEmpty(SheetName)) { Response.Write("<x:Name>" + SheetName + "</x:Name>"); } else { Response.Write("<x:Name>Report Data</x:Name>"); } Response.Write("<x:WorksheetOptions>"); Response.Write("<x:Print>"); Response.Write("<x:ValidPrinterInfo/>"); Response.Write("</x:Print>"); Response.Write("</x:WorksheetOptions>"); Response.Write("</x:ExcelWorksheet>"); Response.Write("</x:ExcelWorksheets>"); Response.Write("</x:ExcelWorkbook>"); Response.Write("</xml>"); Response.Write("<![endif]--> "); Response.Write(html1);//HTML Response.Flush(); Response.End(); }
public static void htmlToExcel(HttpContext context, string title, string html, string fileCss = "", string SheetName = "")
{
var Response = context.Response;
string html1 = html;
Response.ContentType = "application/force-download";
title = HttpUtility.UrlEncode(title, System.Text.Encoding.GetEncoding("UTF-8"));
Response.AddHeader("content-disposition", "attachment; filename=" + title + ".xls");
Response.Write("<html xmlns:x=\"urn:schemas-microsoft-com:office:excel\">");
Response.Write("<head>");
Response.Write("<META http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\">");
if (fileCss != "")
{
string cssText = string.Empty;
StreamReader sr = new StreamReader(fileCss);
var line = string.Empty;
while ((line = sr.ReadLine()) != null)
{
cssText += line;
}
sr.Close();
Response.Write("<style>" + cssText + "</style>");
}
Response.Write("<!--[if gte mso 9]><xml>");
Response.Write("<x:ExcelWorkbook>");
Response.Write("<x:ExcelWorksheets>");
Response.Write("<x:ExcelWorksheet>");
if (!Exec.IsNullOrEmpty(SheetName))
{
Response.Write("<x:Name>" + SheetName + "</x:Name>");
}
else
{
Response.Write("<x:Name>Report Data</x:Name>");
}
Response.Write("<x:WorksheetOptions>");
Response.Write("<x:Print>");
Response.Write("<x:ValidPrinterInfo/>");
Response.Write("</x:Print>");
Response.Write("</x:WorksheetOptions>");
Response.Write("</x:ExcelWorksheet>");
Response.Write("</x:ExcelWorksheets>");
Response.Write("</x:ExcelWorkbook>");
Response.Write("</xml>");
Response.Write("<![endif]--> ");
Response.Write(html1);//HTML
Response.Flush();
Response.End();
}
给文件名通过转码的方式进行导出。
参考:http://blog.csdn.net/tongxinxiao/article/details/43733881