Laden...

dataGrid in Excel-Datei speicher

Letzter Beitrag vor 18 Jahren 11 Posts 6.269 Views
dataGrid in Excel-Datei speicher

Hallo,
ich habe vor, den Inhalt eines dataGrids mit Hilfe eines saveFileDialog in einer Excel-Datei abzuspeichern.
Hat jemand eine Idee, wie der Quelltext aussehen könnte ?(

Hallo

schau dir das mal an: http://www.codeproject.com/csharp/export2excel.asp

sollte dir eigentlich helfen 😉

gruss Andreas

Funzt der Link nur bei mir nicht oder geht der bei euch auch nicht??

Wir Arbeiten eigendlich nicht wir nehmen nur das geld

Ist codeproject down?

Sieht fast so aus ok das erklärt dann auch warum der link nicht geht

Wir Arbeiten eigendlich nicht wir nehmen nur das geld

bei mir sind bei der anzeige in excel dann die sonderzeichen nicht korrekt dargestellt...
jemand eine idee was man dagegen tun kann?

Guck mal die Encoding Klasse an

Früher war ich unentschlossen, heute bin ich mir da nicht mehr so sicher...

hab es so gelöst und klappt einwandfrei


//export to excel
				Response.Clear();
				Response.Buffer = true;
				Response.ContentType = "application/vnd.ms-excel";
				//Response.ContentType = "application/msword";
				Response.Charset = "";
				Response.ContentEncoding=System.Text.Encoding.GetEncoding("iso-8859-1");
				this.EnableViewState = false;

				System.IO.StringWriter oStringWriter = new System.IO.StringWriter();
				System.Web.UI.HtmlTextWriter oHtmlTextWriter = new System.Web.UI.HtmlTextWriter(oStringWriter);

				this.DataGrid1.RenderControl(oHtmlTextWriter);

				Response.Write(oStringWriter.ToString());
				Response.End();

hallo oberlach, das mit dem excel funkz, aber wie bekomme ich hin, das excel nicht direkt in meiner webform gestartet wird. grüsse matze

Hi

ich verscuhe ein DataGrid ins Excel zu exportieren. Wenn ich diese mit folgendem Code mache, dann erhallte ich im Excel nur ein Teil vom DataGrid.


Response.AppendHeader("Content-Disposition", "attachment;filename=test.xls");
        Response.ContentType = "application/ms-excel";
        System.IO.StringWriter oStringWriter = new System.IO.StringWriter();
        System.Web.UI.HtmlTextWriter oHtmlTextWriter = new System.Web.UI.HtmlTextWriter(oStringWriter);
        GridView1.Controls.Clear();
        GridView1.RenderBeginTag(oHtmlTextWriter);
        Response.Write("test.xls");
        Response.Write(oStringWriter.ToString());

kann mir da jemand behilflich sein, ich wie das ganze GridView ins Excel bringe?

greetz

Torkel

Hi

ich habe den Code jetzt noch ein bisschen angepasst:

Response.Clear(); 
        Response.AppendHeader("Content-Disposition","attachment;filename=test.xls"); 
        Response.ContentType = "application/ms-excel"; 
        Response.Charset = ""; 
        System.IO.StringWriter oStringWriter = new System.IO.StringWriter(); 
        System.Web.UI.HtmlTextWriter oHtmlTextWriter = new 
        System.Web.UI.HtmlTextWriter(oStringWriter); 
        GridView1.RenderControl(oHtmlTextWriter); 
        Response.Write(oStringWriter.ToString()); 
        Response.End(); 

nun bekomme ich aber immer diesen Fehler:

Control 'GridView1' of type 'GridView' must be placed inside a form tag with runat=server.

ich habe auch schon infos gefunden, aber nirgends eine Lösung, die bei mir läuft.

Kann mir da evt. jemand weiterhelfen?

Grüsse

Torkel

//EDIT:

hi

ich habe es nun endlich geschafft. mit hilfe dieses Codes: ==> klick

und dieser Fehler:

Control 'GridView1' of type 'GridView' must be placed inside a form tag with runat=server.

kam auch nicht mehr, als ich anstelle eines GridView ein DataGrid genommen habe.

greetz

Torkel