Categories: .NETAsp.NetC#

Asp.NET Excel Rapor Alırken Hücre İçine Enter Atma

Merhaba Arkadaşlar,

Asp.net ile bir excel dosyası oluştururken hücre içinde kayıtlar arasına düzenli görünmesi için <br> atmak isteyebilirsiniz. Bu durumda aşağıdaki gösterdiğim şekilde yapabilirsiniz.

Kaynak projeyi buradan indirebilirsiniz.

 

private void Export_Exel()
        {
            DataTable dt = GetDataMethod();

            GridView GridView1 = new GridView();
            GridView1.AutoGenerateColumns = true;
            GridView1.AllowSorting = false;
            GridView1.AllowPaging = false;
            GridView1.DataSource = dt;
            GridView1.DataBind();

            Response.Clear();
            Response.Buffer = true;
            Response.AddHeader("content-disposition",
             "attachment;filename=odeme-listesi.xls");

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

            Response.ContentType = "application/vnd.ms-excel";
            StringWriter sw = new StringWriter();
            HtmlTextWriter hw = new HtmlTextWriter(sw);

            for (int i = 0; i < GridView1.Rows.Count; i++)
            {
                GridView1.Rows[i].Attributes.Add("class", "textmode");
            }

            hw.AddAttribute("xmlns:x", "urn:schemas-microsoft-com:office:excel");

            hw.RenderBeginTag(HtmlTextWriterTag.Html);
            hw.RenderBeginTag(HtmlTextWriterTag.Head);
            hw.RenderBeginTag(HtmlTextWriterTag.Style);
            hw.Write("br {mso-data-placement:same-cell;}");
            hw.RenderEndTag();
            hw.RenderEndTag();
            hw.RenderBeginTag(HtmlTextWriterTag.Body);

            GridView1.RenderControl(hw);

            hw.RenderEndTag();
            hw.RenderEndTag();

            string style = @"<meta http-equiv=’Content-Type’ content=’text/html; charset=windows-1254′ /> 
<style>.textmode { mso-number-format:\@; }  </style> ";//

            Response.Write(style);
            Response.Output.Write(HttpUtility.HtmlDecode(sw.ToString()));
            Response.Flush();
            Response.End();
        }

 

public DataTable GetDataMethod()//Burada örnek veri oluşturup Datatable tipinde döndürüyoruz.
        {
            DataTable table = new DataTable();
            table.Columns.Add("ID", typeof(string));
            table.Columns.Add("NAME", typeof(string));
            table.Columns.Add("LASTNAME", typeof(string));
            table.Columns.Add("PAYMENTDETAIL", typeof(string));

            table.Rows.Add("1", "AHMET", "YILMAZ", 
@"<b>Ödeme No:</b> 1587 - <b>Tutar:</b> 300 TL - <b>Tarih:</b> 10.10.2017 <br/>
<b>Ödeme No:</b> 1587 - <b>Tutar:</b> 300 TL - <b>Tarih:</b> 10.10.2017 <br/>
<b>Ödeme No:</b> 1587 - <b>Tutar:</b> 300 TL - <b>Tarih:</b> 10.10.2017 <br/>
<b>Ödeme No:</b> 1587 - <b>Tutar:</b> 300 TL - <b>Tarih:</b> 10.10.2017 <br/>");

            table.Rows.Add("2", "MEHMET", "YILMAZ", 
@"<b>Ödeme No:</b> 4589 - <b>Tutar:</b> 400 TL - <b>Tarih:</b> 10.10.2017 <br/>
<b>Ödeme No:</b> 4589 - <b>Tutar:</b> 400 TL - <b>Tarih:</b> 10.10.2017 <br/>
<b>Ödeme No:</b> 4589 - <b>Tutar:</b> 400 TL - <b>Tarih:</b> 10.10.2017 <br/>
<b>Ödeme No:</b> 4589 - <b>Tutar:</b> 400 TL - <b>Tarih:</b> 10.10.2017 <br/>
<b>Ödeme No:</b> 4589 - <b>Tutar:</b> 400 TL - <b>Tarih:</b> 10.10.2017 <br/>
<b>Ödeme No:</b> 4589 - <b>Tutar:</b> 400 TL - <b>Tarih:</b> 10.10.2017 <br/>");

            table.Rows.Add("3", "KENAN", "YILMAZ", 
@"<b>Ödeme No:</b> 2347 - <b>Tutar:</b> 200 TL - <b>Tarih:</b> 10.10.2017 <br/>
<b>Ödeme No:</b> 2347 - <b>Tutar:</b> 200 TL - <b>Tarih:</b> 10.10.2017 <br/>
<b>Ödeme No:</b> 2347 - <b>Tutar:</b> 200 TL - <b>Tarih:</b> 10.10.2017 <br/>
<b>Ödeme No:</b> 2347 - <b>Tutar:</b> 200 TL - <b>Tarih:</b> 10.10.2017 <br/>
<b>Ödeme No:</b> 2347 - <b>Tutar:</b> 200 TL - <b>Tarih:</b> 10.10.2017 <br/>");

            table.Rows.Add("4", "KEMAL", "YILMAZ", 
@"<b>Ödeme No:</b> 3964 - <b>Tutar:</b> 100 TL - <b>Tarih:</b> 10.10.2017 <br/>
<b>Ödeme No:</b> 3964 - <b>Tutar:</b> 100 TL - <b>Tarih:</b> 10.10.2017 <br/>
<b>Ödeme No:</b> 3964 - <b>Tutar:</b> 100 TL - <b>Tarih:</b> 10.10.2017 <br/>
<b>Ödeme No:</b> 3964 - <b>Tutar:</b> 100 TL - <b>Tarih:</b> 10.10.2017 <br/>
<b>Ödeme No:</b> 3964 - <b>Tutar:</b> 100 TL - <b>Tarih:</b> 10.10.2017 <br/>");

            table.Rows.Add("5", "ZEYNEP", "YILMAZ", 
@"<b>Ödeme No:</b> 1280 - <b>Tutar:</b> 50 TL - <b>Tarih:</b> 10.10.2017 <br/>
<b>Ödeme No:</b> 1280 - <b>Tutar:</b> 50 TL - <b>Tarih:</b> 10.10.2017 <br/>");

            table.Rows.Add("6", "HASAN", "YILMAZ", 
@"<b>Ödeme No:</b> 3052 - <b>Tutar:</b> 300 TL - <b>Tarih:</b> 10.10.2017 <br/>
<b>Ödeme No:</b> 3052 - <b>Tutar:</b> 300 TL - <b>Tarih:</b> 10.10.2017 <br/>
<b>Ödeme No:</b> 3052 - <b>Tutar:</b> 300 TL - <b>Tarih:</b> 10.10.2017 <br/>");

            table.Rows.Add("7", "HÜSEYİN", "YILMAZ", 
@"<b>Ödeme No:</b> 4690 - <b>Tutar:</b> 300 TL - <b>Tarih:</b> 10.10.2017 <br/>
<b>Ödeme No:</b> 4690 - <b>Tutar:</b> 300 TL - <b>Tarih:</b> 10.10.2017 <br/>
<b>Ödeme No:</b> 4690 - <b>Tutar:</b> 300 TL - <b>Tarih:</b> 10.10.2017 <br/>
<b>Ödeme No:</b> 4690 - <b>Tutar:</b> 300 TL - <b>Tarih:</b> 10.10.2017 <br/>
<b>Ödeme No:</b> 4690 - <b>Tutar:</b> 300 TL - <b>Tarih:</b> 10.10.2017 <br/>
<b>Ödeme No:</b> 4690 - <b>Tutar:</b> 300 TL - <b>Tarih:</b> 10.10.2017 <br/>
<b>Ödeme No:</b> 4690 - <b>Tutar:</b> 300 TL - <b>Tarih:</b> 10.10.2017 <br/>
<b>Ödeme No:</b> 4690 - <b>Tutar:</b> 300 TL - <b>Tarih:</b> 10.10.2017 <br/>
<b>Ödeme No:</b> 4690 - <b>Tutar:</b> 300 TL - <b>Tarih:</b> 10.10.2017 <br/>
<b>Ödeme No:</b> 4690 - <b>Tutar:</b> 300 TL - <b>Tarih:</b> 10.10.2017 <br/>
<b>Ödeme No:</b> 4690 - <b>Tutar:</b> 300 TL - <b>Tarih:</b> 10.10.2017 <br/>
<b>Ödeme No:</b> 4690 - <b>Tutar:</b> 300 TL - <b>Tarih:</b> 10.10.2017 <br/>
<b>Ödeme No:</b> 4690 - <b>Tutar:</b> 300 TL - <b>Tarih:</b> 10.10.2017 <br/>
<b>Ödeme No:</b> 4690 - <b>Tutar:</b> 300 TL - <b>Tarih:</b> 10.10.2017 <br/>");

            table.Rows.Add("8", "AYŞE", "KAYA", 
@"<b>Ödeme No:</b> 4713 - <b>Tutar:</b> 200 TL - <b>Tarih:</b> 10.10.2017 <br/>");

            table.Rows.Add("9", "LALE", "KAYA", 
@"<b>Ödeme No:</b> 5124 - <b>Tutar:</b> 500 TL - <b>Tarih:</b> 10.10.2017 <br/>");

            table.Rows.Add("10", "AHMET", "KAYA", 
@"<b>Ödeme No:</b> 4011 - <b>Tutar:</b> 400 TL - <b>Tarih:</b> 10.10.2017 <br/>");

            table.Rows.Add("11", "MEHMET", "KAYA", 
@"<b>Ödeme No:</b> 2356 - <b>Tutar:</b> 100 TL - <b>Tarih:</b> 10.10.2017 <br/>");

            table.Rows.Add("12", "KENAN", "KAYA", 
@"<b>Ödeme No:</b> 3567 - <b>Tutar:</b> 200 TL - <b>Tarih:</b> 10.10.2017 <br/>");

            table.Rows.Add("13", "KEMAL", "ÇETİN", 
@"<b>Ödeme No:</b> 8734 - <b>Tutar:</b> 300 TL - <b>Tarih:</b> 10.10.2017 <br/>");

            table.Rows.Add("14", "ZEYNEP", "ÇETİN", 
@"<b>Ödeme No:</b> 3890 - <b>Tutar:</b> 100 TL - <b>Tarih:</b> 10.10.2017 <br/>");

            table.Rows.Add("15", "HASAN", "ÇETİN", 
@"<b>Ödeme No:</b> 3865 - <b>Tutar:</b> 50 TL - <b>Tarih:</b> 10.10.2017 <br/>");

            return table;

        }

 

Rapor alındığında aşağıdaki gibi çıktı veriyor.

Kaynak olarak aşağıdaki yazıdan faydalandım.

 

Semih DURAN

Recent Posts

Türkiye Bankalar ve Ödeme Kuruluşları BIN Numaraları Listesi – 2025 Güncel

Merhaba Arkadaşlar, Sizinle Türkiye'de faaliyet gösteren bankalar ve ödeme kuruluşlarının kartlarının güncel BIN numaraları listesini…

9 ay ago

Asp.Net Array List Veri Gönderme

Bu yazımda size Asp.Net üzerinden bir api'ye nasıl dizi (Array List) veri gönderebileceğinizden bahsetmek istiyorum.…

4 yıl ago

Postman ile Array List Veri Gönderme

Merhaba Arkadaşlar, Bu yazımda size Postman üzerinden bir diziyi (Array List) nasıl post olarak göndereceğinizden…

4 yıl ago

Google Sheets Komut Dosyası Tetikleyiciler

Merhaba Arkadaşlar, Google Sheet üzerinden hazırladığınız bir uygulamanızı nasıl belirli saatlerde çalışmasını sağlayabileceğinizi paylaşmak istiyorum.…

5 yıl ago

Google Sheets Komut Dosyası Mysql Veritabanından Veri Çekme

Merhaba Arkadaşlar, Google Sheet hepimizin kullandığı bir uygulama. Sizlerle Sheet üzerinden nasıl Mysql veritabanına bağlanıp…

5 yıl ago

İnternet Sayfasına Whatsapp Link Ekleme

Merhaba Arkadaşlar, İnternet sayfalarında aşağıdaki şekilde kolayca Whatsapp mesaj linki ekleyebilirsiniz.

5 yıl ago