gridview-Daten-export zu excel asp.net

habe ich versucht zu übertragen grid-Ansicht der Daten nach excel .... Aber die Ausgabe ist eine leere excel-Tabelle.Wie dieses problem zu lösen?Gibt es irgendeinen code zu übertragen, der grid-Ansicht Wert auf eine excel Tabelle mit Datenbank?

protected void btnexcel_Click1(object sender, EventArgs e)
{
    Response.Clear();
    Response.Buffer = true;
    Response.AddHeader("content-disposition", "attachment;filename=GridViewExport.xls");
    Response.Charset = "";
    Response.ContentType = "application/vnd.ms-excel";

    StringWriter sw = new StringWriter();
    HtmlTextWriter hw = new HtmlTextWriter(sw);

    gvdetails.AllowPaging = false;
    gvdetails.DataBind(); 
    gvdetails.HeaderRow.Style.Add("background-color", "#FFFFFF");
    gvdetails.HeaderRow.Cells[0].Style.Add("background-color", "green");
    gvdetails.HeaderRow.Cells[1].Style.Add("background-color", "green");
    gvdetails.HeaderRow.Cells[2].Style.Add("background-color", "green");
    for (int i = 0; i < gvdetails.Rows.Count;i++ )
    {
        GridViewRow row = gvdetails.Rows[i];
        row.BackColor = System.Drawing.Color.White;
        row.Attributes.Add("class", "textmode");
        if (i % 2 != 0)
        {
            row.Cells[0].Style.Add("background-color", "#C2D69B");
            row.Cells[1].Style.Add("background-color", "#C2D69B");
            row.Cells[2].Style.Add("background-color", "#C2D69B");
        }
    }

    string style = @"<style> .textmode { mso-number-format:\@; } </style>"; 
    Response.Write(style); 

    Response.Output.Write(sw.ToString());
    Response.End();
}
  • welche Fehler sind Sie immer hier?
  • Excel-Blatt, das erzeugen ist leer. Bitte Lesen Sie die Forderung richtig.
  • hoffe, dass Sie sich bewusst sind, dass dies nicht in excel exportieren, Sie dienen html-Tabelle und trick, den browser mit falschen content-type in der Antwort. Es gibt zahlreiche Probleme, die Sie bekommen können mit diesem Ansatz. stackoverflow.com/a/10245406/351383
  • Fast alle Antworten hier schreiben (HtmlTextWriter) string-oder Interop-code. VERWENDEN SIE NICHT ENTWEDER. Dadurch wird Sie später Probleme mit DateTime-und Dezimal-Formatierung. Auch Excel wird einen Warnhinweis geben, da Sie nicht der Schaffung einer "echten" Excel-Datei, sondern eine HTML-Seite mit ein .xls-Erweiterung. Starten Sie mit einer spezialisierten Bibliothek für die Erstellung von Excel-Dateien, wie zum Beispiel EPPlus. Beispiel hier und hier.
Schreibe einen Kommentar