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.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ihr Blatt ist leer, weil dein string Schriftsteller in null.
Hier ist, was helfen kann,
Hier ist der vollständige code
form
Kontrolle in die Seite?kann sein problem in der Datenbindung in excel exportieren . überprüfen Sie, dass die Daten richtig bin, um ein gridview-Steuerelement oder nicht.
Verwenden Sie diesen code für den export der grid-Ansicht in excel-Tabelle, und beachten Sie, dass Sie müssen hinzufügen, iTextSharp-dll in Ihr Projekt.
Ich denke, es wird Ihnen helfen,
Anstatt das zu tun, all diese.. kann Sie verwenden einen einfacheren Ansatz, wie unten dargestellt.
Kann man das gesamte walkthrough hier
Etwas anderes zu prüfen, ist sicherzustellen, dass viewstate wird auf (ich habe gerade das Problem gelöst gestern). Wenn Sie nicht über viewstate auf das gridview-werden leer, bis Sie erneut laden.
Die Besten closedxml. Unten ist der link für Referenz
https://closedxml.codeplex.com/wikipage?title=Adding%20DataTable%20as%20Worksheet&referringTitle=Documentation
und können Sie einfach verwenden
Glaube ich nicht, da gibt es jede
DataSource
für diegridview
Wenn Sie
DataBind
im code alsdatasource
?