2007-06-12

ASP'den Excel'e Aktarma

ASP sayfalarınızdaki bilgileri Excel dökumanı olarak kaydedip üzerinde dilediğiniz değişikliği yapmak için aşağıdaki kod bloğunu kullanabilirsiniz:

Response.Buffer = True
Response.ContentType = "application/vnd.ms-excel"
Response.AddHeader "content-disposition", "inline; filename = DosyaAdi.xls"

Eminim bu kod birçok kişinin işine yaracaktır.

7 yorum:

  1. Merhaba;
    Kod için çok teşekkürler fakat bunu sayfaya yerleştirdiğimde ve yeniden sayfayı güncellediğimde normalde excel düğmesine bastığımda başlaması gerekirken kod çalışmaya başlıyor bu kodun nasıl kodların içine gömüleceği hakkında bilgi verirseniz sevinirim.
    Tekrardan teşekkürler.

    YanıtlaSil
  2. Aynı sayfadan 2. bir sayfa oluşturup bu kodu başına ekleyiniz. İlk sayfanızdaki buton yada resmin click olayına bu 2.sayfayı gösterin, dilediğiniz olur.

    YanıtlaSil
  3. merhaba mehmet hocam.

    .net 2.0 da view state den aldığı veriin içinde form tag inin runat ="server" attribute si olmaz o açıdan hata yı giderme adına ihtiyacım olduğunda yazdığım bir cod parçasını destek olmak açısından eklemek istedim.



    string attachment = "attachment; filename="DosyaAdi.xls";

    Response.ClearContent();

    Response.AddHeader("content-disposition", attachment);

    Response.ContentType = "application/ms-excel";

    StringWriter sw = new StringWriter();

    HtmlTextWriter htw = new HtmlTextWriter(sw);



    // Create a form to contain the grid

    HtmlForm frm = new HtmlForm();

    grd.Parent.Controls.Add(frm);

    frm.Attributes["runat"] = "server";

    frm.Controls.Add(grd);



    frm.RenderControl(htw);

    //GridView1.RenderControl(htw);

    Response.Write(sw.ToString());

    Response.End();

    YanıtlaSil
  4. Merhaba Aykut,

    Klasik ASP'deki çözümüme ek olarak .NET 2.0 da da çözümü paylaştığın için teşekkürler.

    YanıtlaSil
  5. Bilgi paylasimizniz icin cok tesekkur ederim, gercekten faydasiniz gordum.

    saygilarimla ismail.

    YanıtlaSil
  6. Merhaba

    SQL de çalışan bir prosedürüm var o presürde gelen verileri bir excel sayfasına kaydettirmek istiyorum, bunun için ne yapmam gerekiyor peki ?

    Teşekkürler

    YanıtlaSil
  7. Paylaşımlar için teşekkür ederim. Yalnız şöyle bir olayla da karşılaştım :

    Aktarım yaptığımda rakamları özellikle 1.526,251 tarzındaki binlik yazımlarda aktarımı yaparken virgülden sonrası dikkate almıyor ve 1,526 tarzında algılıyor. Bu konuda bir çözüm var mıdır? teşekkürler

    YanıtlaSil

Lütfen yorumlarınızda Ad Soyad ve Web sayfanızın adresini girelim!