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 2445 defa okundu.
12 Nisan 2011, 11:24
hocam, emeklerinize sağlık, uzun süredir bulamdığım bir konuda destek isteyecektim…
excelde şirketin bir servis listesi var bu listeyi asp ile ekran seçmeli olarka getirmke istiyorum
yani listeden şehir seçeceğiz, ilçe sececeğiz ve bu ilcedeki servislerin detay bilgileri gelecek, bunun imkanı ve yolu var mı….
27 Aralık 2010, 17:39
wallahi iyi oldu sanki =) baya bi aradım düzgün çalışanını
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.