Excel 및 Word 내보내기를 포함한 HTML 페이지 내보내기

3556 단어 Excel
//Excel로 내보내기 - 모두 내보내기 - 일부 숨기기를 설정하여 내보내기 가능
protected void btnExport_Click(object sender, EventArgs e)
    {
        div_table.InnerHtml = hfdHtml.Value;//백그라운드 단추가 생성된 페이지를 삭제할 수 있기 때문에 페이지 내용을 다시 돌려보냅니다.
        btnExport.Visible = false;//내보내기 버튼을 보이지 않게 설정
        string strFileName = DateTime.Now.ToString("yyyyMMddHHmmss") + ".xls";
        System.Web.HttpContext.Current.Response.Clear();
        System.Web.HttpContext.Current.Response.ClearHeaders();
        System.Web.HttpContext.Current.Response.Buffer = false;
        System.Web.HttpContext.Current.Response.ContentType = "application/octet-stream";
        System.Web.HttpContext.Current.Response.AppendHeader("Content-Disposition", "attachment;filename="+ strFileName);
    }
//word 내보내기 작업, 본 실례는 html 스타일을 내보낼 수 있습니다
protected void btnExport_Click(object sender, EventArgs e)

    {

        divAdd.Visible = false;// div

        string strFileName = DateTime.Now.ToString("yyyyMMddHHmmss") + ".doc";

        Response.Buffer = true;

        System.Web.HttpContext.Current.Response.AppendHeader("Content-Disposition", "attachment;filename=" + strFileName);

        Response.ContentType = "application/ms-word";

        HttpContext.Current.Response.Charset = "UTF-8";

        this.EnableViewState = false;// HtmlWriter

        System.IO.StringWriter writer = new System.IO.StringWriter();

        System.Web.UI.HtmlTextWriter htmlWriter = new System.Web.UI.HtmlTextWriter(writer);

        this.RenderControl(htmlWriter);// 

        HttpContext.Current.Response.Write(writer.ToString()); 

        HttpContext.Current.Response.End();

    }

그리고 프런트에서 Validate Request='false'Enable EventValidation='false'를 추가해야 돼요.
주의: 내보낼 때 그림을 표시할 수 없습니다. 절대 경로로 바꾸십시오.

좋은 웹페이지 즐겨찾기