Daha önce http://arsiv.pilli.com/yazi/c-asp-net-ten-word adresinde (bu yazıyı yazmadan önce orda idi) c# asp.net’ten word(*.doc)’e çıktı almayı anlatmıştım. Bu yazıda da ki kod da ise yine aynı mantıkla, bu sefer c# asp.net’ten excel(*.xml) dosyayı yalancıktan, sanki excel dosyasıymışcasına kaydetmenin kodunu paylaşıyorum.Çünkü aşağıdaki bu kodlarda kullanmis oldugumuz teknikle html formatindaki veriyi excelde gosterilebilsekte yaptiklarimizi excel file(dosya) formatlari ile alakadar degil.Word’e kayıt ederken sadece görünüm için (yazımız nerden başlasın, başlık ortalansın, vb..) table tr td taglarını kullanmıştık. Ama bu sefer sahte excel dosyasına çıktı alırken, sütun ve satırları belirtmek için tr taglarını satır td taglarınıda sürun olarak kullanmak zorunda olduğumuzu sizde farkedeceksiniz.using System.Text;
DataTable dt;HttpContext.Current.Response.Clear();HttpContext.Current.Response.Charset = “UTF-8”;HttpContext.Current.Response.ContentType = “application/vnd.ms-excel”;string dosyaAdi = “dosya_adi_ne_olsun.xls”;HttpContext.Current.Response.AddHeader(“Content-Disposition”, “inline;filename=” + dosyaAdi);StringBuilder yaziIcerigi = new StringBuilder();yaziIcerigi.Append(“

“);
dt = sorguCalistir(“select * from musteriler order by musteri_adi”);foreach (DataRow dr in dt.Rows){yaziIcerigi.Append(“

“);
}dt.Dispose();yaziIcerigi.Append(“

E-Posta Adı Soyadı TC Kimlik No
” + dr[“musteri_eposta”].ToString() + “ ” + dr[“musteri_adi”].ToString() + “ ” + dr[“musteri_soyadi”].ToString() + “ ” + dr[“musteri_TCKimlik”].ToString() + “

“);
HttpContext.Current.Response.Write(yaziIcerigi);HttpContext.Current.Response.End();HttpContext.Current.Response.Flush();
sorguCalistir() Kendi kodlamamda DataTable donduren bir class, sizde kendi DataTable’ınızı dt içine aktararak foreach{…} döngüsü içerisinde sahte excel’deki satırlarınızı oluşturabilirsiniz.