21 Kasım 2013 Perşembe

Asp.net ListView Verilerini Excel'e Aktarma ve Karşılaşılabilecek Hatalar

Merhabalar;

Kısa bir zaman içerisinde aktarmak için elimden geleni yapmaya çalışacağım.
İhtiyaç dahilinde kullanılması gereken bir konu içermektedir.Paylaşmayı seviyorum.
Paylaşınca mutlu oluyorum ya da not tutunca diyelim :).

Öncelikle Hali hazırda sizler tarafından doldurulmuş bir ListView olduğunu düşünerekten;


    1.) ListView olduğu sayfanın aspx.cs tarafına;  

    public override void VerifyRenderingInServerForm(Control control)
    {

    }
       ekleminiz gerekiyor ki hata (1) ile karşılaşmamak için.

 2.) ListView'in bulunduğu sayfanın aspx tarafında en üste yani;

 <%@ Page Title="" Language="C#" MasterPageFile="~/panel/yonetim.master" EnableEventValidation="false" AutoEventWireup="true" CodeFile="Musteriler.aspx.cs" Inherits="panel_Musteriler" %>

<%@ Page içerisine EnableEventValidation="false" eklemeniz gerekiyor %> hata(2) ile karşılaşmamak için.

3.) Bir fonksiyon yazarak daha düzenli bir kod ile fonksiyonun  parametresi bir ListView olacak şekilde;
   NOT : Blogda bu html meta tag'ına izin vermediği için bunu buraya yazıyorum.
      deger = "<meta http-equiv='content-type' content='text/html; charset=utf-8' />"     Response.Output.Write(""+sw.ToString()) içerisine yazmalısınız.hata(3) türkçe karakter problemi yaşamamak için.

 private void ExcelAktarFonksiyonu(ListView LV1)
    {
        Response.ClearContent();
        Response.Buffer = true;
        Response.AddHeader("content-disposition", "attachment;filename=MusteriBilgileri.xls");
        Response.ContentType = "application/vnd.ms-excel";
        StringWriter sw = new StringWriter(); ;
        HtmlTextWriter htm = new HtmlTextWriter(sw);
        LV1.RenderControl(htm);
        Response.Output.Write("" + sw.ToString());      
        Response.Flush();
        Response.End();
    }
4.)Sadece ExcelAktarFonksiyonu() fonsiyonunu çağıracak bir olaya ihtiyacımız kaldı.

 protected void ExcelAktar_Click1(object sender, EventArgs e)
    {
        ExcelAktarFonksiyonu(ListView1);
    }

İşlem sırasında hata ile karşılaşmazsınız ama karşılaşmanız durumunda ;

  1. hata (1)

  2. Çözüm ;

        public override void VerifyRenderingInServerForm(Control control)
        {
    
        }

  3. hata (2);
  4.       
    Çözüm ;

     <%@ Page Title="" Language="C#" MasterPageFile="~/panel/yonetim.master" EnableEventValidation="false" AutoEventWireup="true" CodeFile="Musteriler.aspx.cs" Inherits="panel_Musteriler" %>
    

    <%@ Page içerisine EnableEventValidation="false" eklemeniz gerekiyor %> hata(2) ile karşılaşmamak için.
  5. hata (3) ; Türkçe karakter problemi
   
Çözüm;

 Response.Output.Write("<meta http-equiv='content-type' content='text/html; charset=utf-8' />" + sw.ToString());


 Bu kadar , yararlı olması dileği ile :)


Share this post
  • Share to Facebook
  • Share to Twitter
  • Share to Google+
  • Share to Stumble Upon
  • Share to Evernote
  • Share to Blogger
  • Share to Email
  • Share to Yahoo Messenger
  • More...

0 yorum

:) :-) :)) =)) :( :-( :(( :d :-d @-) :p :o :>) (o) [-( :-? (p) :-s (m) 8-) :-t :-b b-( :-# =p~ :-$ (b) (f) x-) (k) (h) (c) cheer

 
© 2013 Saygınlık Bilgelikte Gizlidir
Designed by Blog Thiet Ke
Posts RSSComments RSS
Yukarı