Asp.Net gridview üzerindeki verilerinizi excel e aktarmak isterseniz aşağıdaki kod bloğunu kullanabilirsiniz.
Response.Clear();Response.Buffer = true;string fileName = DateTime.Now.Ticks.ToString();Response.AddHeader("content-disposition", "attachment;filename=" + fileName +".xls");Response.ContentEncoding = System.Text.Encoding.Unicode;Response.BinaryWrite(System.Text.Encoding.Unicode.GetPreamble());Response.ContentType = "application/vnd.ms-excel";using (StringWriter sw = new StringWriter()){HtmlTextWriter hw = new HtmlTextWriter(sw);grid_excel.Visible = true;grid_excel.RenderControl(hw);Response.Output.Write(sw.ToString());Response.Flush();Response.End();}
Yukarıdaki kod bloğunu uygun bir kontrolün altında çalıştırdığınızda aşağıdaki gibi bir hata alacaksınız.
Control 'ContentPlaceHolder1_GridView1' of type 'GridView' must be placed inside a form tag with runat=server.
Bu hatayı gidermek için de aşağıdaki fonksiyonu ekliyoruz.
public override void VerifyRenderingInServerForm(Control control){return;}
Türkçe karakter sorununu da yulkarıda eklediğimiz aşağıdaki satılar önlemiş oldu.
Response.ContentEncoding = System.Text.Encoding.Unicode;Response.BinaryWrite(System.Text.Encoding.Unicode.GetPreamble());
Türkçe Karakter Giderme Kodların çok işime Yaradı TEŞEKKÜRLER
YanıtlaSilTürkçe Karakter Giderme Kodların %100 çalışıyor. Teşekkür ederim.
YanıtlaSil