簡體   English   中英

GridView Export to Excel正在導出整個aspx頁面

[英]GridView Export to Excel is exporting entire aspx page

我正在嘗試將gridview的內容導出為ex​​cel。 我有一些代碼:

public void ExcelDownload(object sender, EventArgs e)
    {
        Response.Clear();
        Response.Buffer = true;
        Response.Charset = "UTF-8"; 
        Response.AppendHeader("Content-Disposition", "attachment;filename=MailingList.xls");
        Response.ContentEncoding = System.Text.Encoding.GetEncoding("UTF-8");
        Response.ContentType = "application/ms-excel";
        this.EnableViewState = false;
        System.Globalization.CultureInfo myCItrad = new System.Globalization.CultureInfo("EN-US", true);
        System.IO.StringWriter oStringWriter = new System.IO.StringWriter(myCItrad);
        System.Web.UI.HtmlTextWriter oHtmlTextWriter = new System.Web.UI.HtmlTextWriter(oStringWriter);
        MailingList.RenderControl(oHtmlTextWriter);
        Response.Write(oStringWriter.ToString());
    }

在單擊鏈接時運行。 這很好,除了它導出整個網頁,而不僅僅是gridview(MailingList)。 有誰知道如何解決這一問題?

從技術上講,這不是導出到excel,而是發送帶有錯誤標題的html來欺騙瀏覽器以使用excel打開此內容。 如果您堅持使用此解決方案,則必須在單獨的aspx頁面上呈現GridView。

這個解決方案可能存在問題,擅長自我會警告用戶內容不同於擴展,因為你發送html並且你的響應頭文件說這是一個excel文件。 我可以打賭,客戶端上的某些反惡意軟件或服務器上的類似軟件會阻止此響應,因為提供的不同內容比標頭中聲明的內容是已知的惡意軟件行為。

更好地使用NPOI (xls)或/和EPPlus (xlsx)並完全控制您的excel導出。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM