İnternette farklı yontemler olmasına rağmen data griddeki verileri nasıl excel'e basacağımıza dair detaylı bir örnek vermek istiyorum. İnternetteki örnekleri incelediğimde genel itibari ile dataylı anlatılmamasından kaynaklanan eksiklikler olduğundan bir de ben şansımı denemek istedim. :)
Öncelikle kodun açıklamsını önden uzun uzun yapmak yerine kod üzerinde comment satırları ile açıklama yapmanın daha faydalı olacağını düşünüyorum.
Öncelikle aşağıdaki kodun çalışabilmesi için aşağıdaki alanın htm tarafında en üstteki bölüme eklemek gerekiyor. Eklenecek olan alan kırmızı renkte olan alandır. Başındakli<%@ Page Language="C#" ifadesini ise ekelecek yeri karıştırmamak adına verdim.
<%@ Page Language="C#" EnableEventValidation = "false" AutoEventWireup="true"
Şimdi dilerseniz koda geçelim :)
------------------------------------
protected void btnExportToExcel_Click(object sender, EventArgs e) //Excel'e aktarımı saglayacak olan Butona tıklanma
{
string attachment = "attachment; filename=ProdDefects.xls"; //Dosyamızın adını belirttiğimiz kısım. Once string bir degisken tanımladık. Sonrasında ifadeyi yazdık...
Response.ClearContent();
Response.AddHeader("content-disposition", attachment);
Response.ContentType = "application/ms-excel"; //Contenttype ımızı ms-excel olarak belirledik...
StringWriter sw = new StringWriter (); //Şimdi de ihtiyacımız olacağından bir tane StringWriter ı tanımladık...
HtmlTextWriter htw = new HtmlTextWriter (sw); //Aynı şekilde bir de HtmlTextWriter tanımladık...
GridView1.RenderControl(htw); //Grid deki ifadeyi html e yukledik.
Response.Write(sw.ToString()); //Daha sonra da onu StringWriter kullanarak yazdırdık...
Response.End();
}
public override void VerifyRenderingInServerForm(Control control) //Bu kısım işlev geçerliliği için gerekli
{
}
===========
Not:
===========
Kod denendi ve çalışır durumda. Eğer sizde çalışmaması durumda;
- Solution Exp. da projenize sağ clikleyin.
- Açılan menüden Add Referance yi seçin. Sizi bir pencere karşılayacak..
- Açılan olan pencereden Com tabını tıkayın.
- Buradan Microsoft.Office.Interop.Excel ve Office ve System.Core u ekleyin.
- Bu eklemeleri yaptıktan sonra aşağıdakileri projenize import edin...
using Microsoft.Office.Interop.Excel;
using Microsoft.Office.Core;
using System.IO;
Evet. Hepsi bu kadar. Gridinizdeki tüm özellikler artık xls dosyasında... :)
Kolay gelsin...
Hiç yorum yok:
Yorum Gönder