4 Ocak 2015 Pazar

Asp.Net GridView daki Veriyi Excel 'e Aktarma

 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());

2 yorum:

  1. Türkçe Karakter Giderme Kodların çok işime Yaradı TEŞEKKÜRLER

    YanıtlaSil
  2. Türkçe Karakter Giderme Kodların %100 çalışıyor. Teşekkür ederim.

    YanıtlaSil