17 Ağustos 2018 Cuma

Mvc Excel Çıktısı Alma ve Türkçe Karakter Sorunu Çözümü


MVC'de pratik bir şekilde excel çıktı alma kodları aşağıdadır. Yapılması gereken veriyi seçmek ve giridlere doldurmaktan ibarettir. Ayrıca kullanıcıların çoğu Türkçe karakter sorunu yaşamakta. Yazıda Türkçe karakter sorununun giderilme yoluna da örnek verilmiştir.

View:

 <a class=" btn btn-circle green btn-outline btn-sm"               
 href="/Sugar/GridExportToExcel/@id" 
Excel Çıktısı</a>

Controller:


public ActionResult GridExportToExcel(int id)  
        {

            Kullanici k=DB.EF.Kullanici.Where(x=>x.kullaniciID==id).SingleOrDefault();  
                string dosyaAdi = "Şeker Ölçüm Değerleri "+k.kullaniciAd + k.kullaniciSoyad;
               
//Exceli dolduracak veri oluşturulur

 var table = DB.EF.SekerOlcum.Where(x => x.kullaniciId == id).Select(x=> new { x.Kullanici.kullaniciAd, x.Kullanici.kullaniciSoyad,x.olcumTur,x.tarih
                }).ToList();
                var grid = new GridView();
                grid.DataSource = table;
                grid.DataBind();

                Response.ClearContent();

//Excel Dosya adı belirlenir

                Response.AddHeader("content-disposition", string.Format("attachment; filename=" + dosyaAdi + ".xls"));

                Response.ContentType = "application/ms-excel";
//Türkçe karakter sorunu varsa kullanılır.

Response.ContentEncoding = System.Text.Encoding.Unicode;
                Response.BinaryWrite(System.Text.Encoding.Unicode.GetPreamble());

                StringWriter sw = new StringWriter();
                HtmlTextWriter htw = new HtmlTextWriter(sw);

                grid.RenderControl(htw);

                Response.Write(sw.ToString());
                Response.End();
                return View();
        }

Paylaş:

0 yorum:

Yorum Gönder