ASP ile Excel Export(Excel Rapor) Alma
ASP ile burada Excel import olayını anlatmıştım. ASP ile excel rapor almak ise import'a göre oldukça basittir. Bildindiği gibi ASP'de ekrana yazdırma olayı Response ile yapılmaktadır ve response objesine ait propertiesler bulunmaktadır.
ASP ile Excel Export olayı Response nesnesine ait methodları kullanarak yapılmaktadır. Örneğin:
<% Response.Clear() Response.Buffer = True Dim str str = "<table border=1 class=mysmalltext><tr bgcolor=""#d8ecea"">" str = str & "<td>ID</td>" str = str & "<td>AD</td>" str = str & "<td>SOYAD</td>" str = str & "<td>PUAN</td>" str = str & "</tr>" str = str & "<tr>" str = str & "<td>1</td>" str = str & "<td>Ramazan</td>" str = str & "<td>ULUÇAY</td>" str = str & "<td>80</td>" str = str & "</tr>" str = str & "<tr>" str = str & "<td>2</td>" str = str & "<td>Ahmet</td>" str = str & "<td>yyy</td>" str = str & "<td>90</td>" str = str & "</tr>" str = str & "<tr>" str = str & "<td>3</td>" str = str & "<td>Mehmet</td>" str = str & "<td>zzz</td>" str = str & "<td>100</td>" str = str & "</tr>" str = str & "</table>" Response.AddHeader "Content-Disposition", "attachment;filename=export.xls" Response.ContentType = "application/vnd.ms-excel" Response.Write str %>
Yukarda vermiş olduğum örnekte görüldüğü gibi Response nesnesinin Clear, Buffer, AddHeader, ContentType ve Write methodları kullanılmıştır. Kısaca değinecek olursak; Clear methodu ile bufferda bulunan HTML kodları temizlemeye yaramaktadır. Response.Buffer = False ise Response.Clear kullanmanız hataya sebep verebilir.
Response.Buffer ile HTML data akışının tamamlanıp HTML dosya oluşturulduktan sonra göster veya her satır işletilmesi tamamlandığında göster anlamına gelmektedir. Daha anlaşılır olması için örnek vermekte fayda var. Bazı sitelerde dikkatinizi çekmiştir sayfalar parça parça gelmektedir. Eğer buffer kullanılmış olsaydı sayfanın hepsi aynı anda gelirdi.
Response.AddHeader methodu ile header ekliyoruz. Dikkat ederseniz zaten attachment olduğu görülmektedir. Bunun sayesinde filename isminde bir dosya download edilmesini sağlanmıştır.
Response.ContentType ile mimenin tipini belirtiyoruz. Excel için mime application/vnd.ms-excel'dir.
ve son. Response.Write ile tablomuzu yazdırıyoruz. Görüldüğü gibi Excel Export almak aslında çok basittir. Kodlamamıza sadece fazladan bir kaç satır eklemek gerekiyor.
Şuana kadar 1071 defa okundu.
01 Şubat 2010, 10:45
gerçekten güzel ve faydalı bir paylaşım.benim bir sorum olacak bu şekilde yaptığımız excel sayfasının sayfa yapısını ve yazdırılacak alanını nasıl ayarlarız.
04 Eylül 2009, 13:27
Faydalı olduğunu görmek güzel
04 Eylül 2009, 13:23
çok faydalı bir paylaşım olmuş, vesileyle sitenizden de haberdar olduğuma çok memnunum.
teşekkürler.