Merhaba arkadaşlar.
Bu yazımızda Asp.net (c#) ile uygulama geliştiren arkadaşların işine yarayacağını düşündüğüm bir kodu paylaşmak istiyorum. Bu kod asp.net ile geliştirmiş olduğunuz sistemde gridview içerisine çekmiş olduğunuz bilgileri excel ortamına aktarmanıza olanak sağlıyor. Kod basit olup daha detaylı excel ortamı için bir sonraki yazımızı takip etmenizi öneriyoruz. Şimdi dilerseniz kod ortamına geçelim.
Bunun için öncelikle visual studio ide'mizde asp.net empty project ile boş bir asp.net projesi oluşturuyoruz. Şimdi solution ekranında projemiz üzerinde sağ tıklayıp Add -> new web form adımlarını izleyerek Default.aspx adında boş bir sayfa ekliyoruz.
Şimdi ise default.aspx sayfasına çift tıklayarak açıyoruz ve sayfamıza bir adet gridview ekliyoruz
Bunu isterseniz tools sekmesinden sürükle bırakla isterseniz Html tarafında kod ile ekleyebilirsiniz.
Biz sürükle bırak yöntemi ile bir adet gridview ekrana bırakıp hemen html tafına geçiyor ve adını düzeltiyoruz.
<asp:gridview id="gvKayitlar" runat="server"></asp:gridview>
Örnek olarak gvKayitlar adını kullandım.
Bunun hemen ardından design kısmında formumuza bir adet buton sürükleyip bırakıyoruz. Butonumuzun adı da btnaktar olsun
şimdi Ctrl+F7 veya design bölümündeyken ekrana çift tıklayarak c# kod bölümüne geçiyoruz.
Burada öncelikle database işlemlerimizi gerçekleştiriyoruz. Biz bu adımı yapmayacağız çünkü bu işlemleri bildiğinizi var sayıyorum.
Örnek gridview doldurma fonksiyonumuz
private void gvDoldur(){
// kendi kullanmış olduğunuz bir sınıfınız var ise siz onu kullanın ben örnek olsun diye aşağıdaki
//şekilde kullandım
DataTable dtKayitlar = cyMetodlar.GetDataTable("Select * From kullanicilar");
// gridView nesnemizin dataTable dan kayıt çekeceğinizi söylüyoruz
gvKayitlar.DataSource = dtKayitlar;
// gridView nesnemize yüklenen kayıtları görünmesi için DataBind fonksiyonunu çağırıyoruz
gvKayitlar.DataBind();
}
Şimdi ise bizim için en önemli kısma geldik. Kayıtlarımızı excele aktarma fonksiyonu
private void ExceleAktar()
{
Response.Clear();
Response.AddHeader("content-disposition", "attachment;filename=TumKatilimcilar.xl
Response.Charset = "";
Response.Cache.SetCacheability(HttpCacheability.NoCache);
Response.ContentEncoding = System.Text.Encoding.GetEncoding("windows-1254");
Response.Charset = "windows-1254";
Response.ContentType = "application/vnd.xls";
System.IO.StringWriter stringWrite = new System.IO.StringWriter();
System.Web.UI.HtmlTextWriter htmlWrite = new HtmlTextWriter(stringWrite);
string header = "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n<title></title>\n<meta http-equiv=\"Content-T />\n<style>\n</style>\n</head>\n<body>\n";
form1.Controls.Clear();
form1.Controls.Add(gvListe);
form1.RenderControl(htmlWrite);
Response.Write(header + stringWrite.ToString());
Response.End();
}
Sayfamız ilk yüklendiğinde çalışacak kodumuz
protected void Page_Load(object sender, EventArgs e)
{
gvDoldur(); // fonksiyonumuzu çağırıyoruz
}
bu işlemlerin ardından butonumuza tıklandığı zaman verilerimizi aktarmak için buton click olayına aşağıdaki kodu yazıyoruz
protected void btnaktar_Click(object sender, EventArgs e)
{
ExceleAktar()
}
Hepsi bu kadar şimdi ise default.aspx sayfasına sağ tıklayıp Preview linkinden browser ortamında çalıştırıyoruz.
Faydalı olması dileğiyle
0 yorum:
Yorum Gönder