ASP.NET MSSQL'den Excel'e Veri Aktarma
Bu makalemizde MSSQL'de ki kayıtlarınızın raporlarını almanıza yardımcı olacak uygulamamızı gerçekleştireceğiz.
Uygulama için boş bir aspx dökümanı açıyoruz. HTML alanına bir GridView ekliyoruz.
Daha sonra kod alanında 2 adet Metodumuzu yazıyoruz.
İlk metodumuz da veritabanına bağlanıp tüm verileri gridview içersine dolduruyoruz.
Ben Linq to Sql kullandım sizde diğer kullandığınız yöntemlerle bağlanabilirsiniz.
private void GridViewDoldur() {
var katilimci = (from k in db.Katilimcilars.AsEnumerable()
orderby k.KatilimciID ascending
select k).ToArray();
gvListe.DataSource = katilimci;
gvListe.DataBind();
}
İkinci metodumuz da GridView e doldurduğumuz kayıtlar Excel dökümanı olarak bilgisayarımıza indireceğiz.
private void ExcelAktar()
{
Response.Clear();
Response.AddHeader("content-disposition", "attachment;filename=TumKatilimcilar.xls");
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\" \"htt://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n<title></title>\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=windows-1254\" />\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();
}
Son olarak yazdığımız metodları sayfaının load'ında çağırıyoruz ve dökümanımız bilgisayarımıza indiriliyor.
protected void Page_Load(object sender, EventArgs e)
{
GridViewDoldur();
ExcelAktar();
}
İlgili Konular
0
Yorum