Asp.Net Excel’e veri aktarmak

Aşağıdaki kodları bir butona yerleştirdiğimizde, oradaki “Gridviewiniz” kısmını kendi Gridview ayarlayarak, verilerinizi olduğu gibi Excel‘e aktarabilirsiniz. Rapor.xls olarak masaüstüne kaydedecektir.

HtmlForm form1 = new HtmlForm();

        form1.Controls.Add(Gridviewiniz);

        Response.Clear();

        Response.ClearHeaders();

        Response.ClearContent();

        Response.ContentEncoding = System.Text.Encoding.GetEncoding(“windows-1254”);

        Response.Charset = “windows-1254”; //ISO-8859-13 ISO-8859-9  windows-1254

        System.Web.HttpContext.Current.Response.AddHeader(“content-disposition”, “attachment;filename=Rapor.xls”);

        Response.ContentType = “application/vnd.ms-excel”;

        System.IO.StringWriter stringWrite = new System.IO.StringWriter();

        System.Web.UI.HtmlTextWriter htmlWrite = new HtmlTextWriter(stringWrite);

        Gridviewiniz.RenderControl(htmlWrite);

        Response.Output.Write(” <meta http-equiv=’Content-Type’ content=’text/html; charset=windows-1254′ />” + stringWrite.ToString());

        Response.Flush();

        System.Web.HttpContext.Current.Response.End();

Benzer Yazılar

Yorumlar

  • abdullah kuzhan , 09 Temmuz 2010 - 21:16

    Kanka eline sağlık, burda birşeyi unutmamak lazım eğer excel üzerinde hesaplama işlemleri yapılacaksa Microsoft.Office.Interop altından excel nesnesi türetimi ile tek tek excel cell’leri programatik olarak doldurulmalı, response nesnesi ile yazdırılan excel’ler üzerinde hesaplama işlemleri sırasında sorunlar çıkıyor. Bununda sebebi bir excel sheet değil aslında bir html content yazdırıyor olmanız. Namespace’i yanlış yazmış olabilirim , Office.Excel.Interop’ta olabilir, bu sınıflarla haşır neşir olmakta fayda var, özellikle office uygulamalarına add-in’ler yazarken kullanmak gerekiyor. VSTO programming açısındanda önemli.

    Cevapla
  • abdullah kuzhan , 09 Temmuz 2010 - 21:18

    birde sunucu üzerinde dediğim sınıfları kullanabilmek için sunucuda office’in kurulu olması gerekir. Sunucu üzerinde office kurulu değil ve lisans alacak parada yoksa yine microsoft’un OWC tool’u kullanılabilir, spreadsheet class’ından türetimle excel instance’lar oluşturulup programatik doldurulabilir. OWC tabiki ücretsiz.

    Cevapla

Yorum Yazın

Cevabı iptal etmek için tıklayın.

Su elementleri kullanabilirsiniz : <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

Arama
RSS
Beni yukari isinla