Asp.Net Excel’e veri aktarmak

ilhan bahar tarafından 6 Temmuz 2010 tarihinde yazılmıştır.
2 Yorum


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

Şunlar da ilginizi çekebilir;

  • FriendFeed'de Paylaş
  • Facebook'ta Paylaş
  • Twitter'da Paylaş
  • 
    1. abdullah kuzhan diyor ki:

      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.

    2. abdullah kuzhan diyor ki:

      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.

    Bu yazı hakkında yorum yapın...





    
    Hemen hatırlatalım, bu sitede yer alan bütün dökümanlar 5846 sayılı Fikir ve Sanat Eserleri Kanununun koruması kapsamındadır. 2008-2010 ©
    Siteden çalıntı değil alıntı yapmak isteyenlerin siteye link vermesi kafidir. "Ben link vermem direk çorlarım" diyenlerde ifşa edilecektir. Siteyi kodlamadık çünkü kodlanmışı (WordPress) vardı. Arama motorları ile arayı iyi tutmak adına Sitemap ekledik, temasını kullandığımız anarşik çocuğu da link verip, bu kısmı sonlandırmış olduk, hayırlı olsun.