个人常用导出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();
发表回复