个人常用导出 execl 方法:#region " 导出文档 "
/// <summary>
/// Export("application/ms-excel", DateTime.Now.ToString("yyyyMMhhddmmss") + ".xls", htmlExcel, " 统计 ");
/// </summary>
/// <param name="Filetype"> 导出类型 </param>
/// <param name="FileName"> 导出名称 </param>
/// <param name="html"> 用 html 拼装出来的要导出的内容 </param>
/// <param name="sheetName"></param>
private void Export(string Filetype, string FileName, string html, string sheetName)
{
StringWriter sw = new StringWriter();
sw.WriteLine("<html xmlns:x=\"urn:schemas-microsoft-com:office:excel\">");
sw.WriteLine("<head>");
sw.WriteLine("<meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\" />");
sw.WriteLine("<!–[if gte mso 9]>");
sw.WriteLine("<xml>");
sw.WriteLine(" <x:ExcelWorkbook>");
sw.WriteLine(" <x:ExcelWorksheets>");
sw.WriteLine(" <x:ExcelWorksheet>");
sw.WriteLine(string.Format(" <x:Name>{0}</x:Name>", sheetName));
sw.WriteLine(" <x:WorksheetOptions>");
sw.WriteLine(" <x:Print>");
sw.WriteLine(" <x:ValidPrinterInfo />");
sw.WriteLine(" </x:Print>");
sw.WriteLine(" </x:WorksheetOptions>");
sw.WriteLine(" </x:ExcelWorksheet>");
sw.WriteLine(" </x:ExcelWorksheets>");
sw.WriteLine("</x:ExcelWorkbook>");
sw.WriteLine("</xml>");
sw.WriteLine("<![endif]–>");
sw.WriteLine(" <style type='text/css'>.td_text { background-color: #ECF9FC; text-align: left; text-align: left;} .td_value {background-color: #FFFFFF; text-align: left; border-top: medium none;} .tableGg {background-color: #82D1E7; border-top-width: 0px; border-bottom-width: 0px; width: 700px;} </style>");
sw.WriteLine("</head>");
sw.WriteLine("<body>");
sw.WriteLine(html);
sw.WriteLine("</body>");
sw.WriteLine("</html>");
sw.Close();
Response.Clear();
Response.Buffer = true;
Response.AppendHeader("Content-Disposition", "attachment;filename=" + HttpUtility.UrlDecode(FileName, Encoding.UTF8).ToString());
Response.ContentType = Filetype;
this.EnableViewState = false;
Response.Write(sw);
Response.End();
}
#endregion
个人常用导出图片方法,性能不是很好:
//Model.Data 这是图片的二进制流,Data 是对象 Model 的一个属性 byte[]
Response.ContentType = "image/jpeg";
if (Model.Data != null)
{
Response.BinaryWrite(Model.Data);
}
Response.End();