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…

10 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.…

5 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…

5 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