C \ # HTML 내 보 내기 Excel

우선 이것 은 ajax 로 조작 할 수 없 지만, 내 가 지금 말 하 는 이 방법 은 ajax 의 효과 와 같다.
내 보 낼 페이지 에 방법 을 쓰 십시오. 
function DaoChu ()
{
  location.href = "DaoChu.aspx";
}

그리고 DaoChu.aspx 페이지 백 스테이지 PageLoad  다음 코드 를 직접 쓰 십시오. 
 
 string html = "<table><tr><td>1</td><td>11</td></tr><tr><td>2</td><td>22</td></tr></table>";
                Response.ContentType = "application/force-download";
                Response.AddHeader("content-disposition",
                    "attachment; filename=" + DateTime.Now.ToString("yyyyMMddHHmmss") + ".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\">");
                string fileCss = Server.MapPath("~/css/daoChuCSS.css");
                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>");
                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(html);//HTML
                Response.Flush();
                Response.End();

이렇게 하면 됩 니 다. html 코드 는 table 에 쓰 는 것 이 좋 습 니 다. 왜냐하면 EXCEL 이기 때 문 입 니 다. 사실은 테이블 이 야.
도움 을 받 은 학우 들 이 당신 의 귀중 한 평론 을 남 겨 주 기 를 바 랍 니 다. 감사합니다.

좋은 웹페이지 즐겨찾기