asp.net导出execl和图片

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

 

posted @ 2013-07-05 17:47  骑士归来  阅读(633)  评论(0编辑  收藏  举报