个人常用导出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- 0px; border-bottom- 0px; 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();