Forums Neueste Beiträge
 

Größen-Limit bei Download GridView-Inhalt?

27/07/2009 - 11:28 von WolfgangH | Report spam
Hallo Leute,

ich stelle eine csv-Datei im GridView dar (mit Formatierungen)
Per Button biete ich den Download als xls-Datei an.
Das funktioniert bei kleinen GridView-Größen.
Bei größeren (zB. 6 MB source-Code in der Seite) erhalte ich einen Abbruch
(Darstellung ist kein Problem).
Frage:
Gibt es da ein Größen-Limit, und wie kann ich das dann aufheben?

Grüße
Wolfgang

hier mein Vorgehen:
protected void B_download_Click(object sender, EventArgs e)
{
Response.AddHeader("content-disposition", "attachment;filename=" + filename);
Response.Charset = "";
Response.ContentType = "application/vnd.ms-excel";
System.IO.StringWriter sw = new System.IO.StringWriter();
System.Web.UI.HtmlTextWriter htmw = new System.Web.UI.HtmlTextWriter(sw);
gridview1.RenderControl(htmw);
Response.Write(sw.ToString());
Response.End();
}

public override void VerifyRenderingInServerForm(Control control)
{ }
 

Lesen sie die antworten

#1 Gerold Mittelstädt
27/07/2009 - 12:52 | Warnen spam
Hallo,

WolfgangH schrieb:
ich stelle eine csv-Datei im GridView dar (mit Formatierungen)
Per Button biete ich den Download als xls-Datei an.



Nein, Du bietest unvollstàndige HTML-Schnippsel an. Mit .xls [1] hat das
nicht mal ansatzweise etwas zu tun. Excel ràt nur richtig, interpretiert
das als HTML, weshalb es "richtig" angezeigt wird. Aber spàtestens beim
Speichern wird alles klar:

<html xmlns:o="urn:schemas-microsoft-com:office:office"
xmlns:x="urn:schemas-microsoft-com:office:excel"
xmlns="http://www.w3.org/TR/REC-html40">


Das funktioniert bei kleinen GridView-Größen.
Bei größeren (zB. 6 MB source-Code in der Seite) erhalte ich einen Abbruch
(Darstellung ist kein Problem).
Frage:
Gibt es da ein Größen-Limit, und wie kann ich das dann aufheben?



Wie àußert sich denn der Abbruch? Welcher Browser? Welches System?
Entwicklungsrecher oder produktiv?

Hàng einen Debug-Proxy (bspw. Fiddler) dazwischen, und schau Dir an, was
genau schieflàuft.

Entweder traust Du Excel mehr zu, als es Datenmàßig an HTML-geraterei
vertragen kann, oder Du überschreitest ein Timeout.

hier mein Vorgehen:
protected void B_download_Click(object sender, EventArgs e)
{
Response.AddHeader("content-disposition", "attachment;filename=" + filename);
Response.Charset = "";
Response.ContentType = "application/vnd.ms-excel";



Was stört dich denn am Zeichensatz?


Das hier ist .xls: ;)
[1] http://download.microsoft.com/downl...FileFormat(xls)Specification.pdf



Viele Grüße!

Ähnliche fragen