Editor Login | Register
Ekle

> Akademik İnternet ® > ASP.NET
VB.NET ile Excele Yazdırma - ASP.NET - Akademik İnternet ® -
Tahkikat-ı Enderun
(Date : 28.12.2007 18:36:34)


VB.NET ile Excele Yazdırma
Excele yazdırma,çoğu web uygulamalarında istenilen ve gerekliliği olan bir işlemdir.Bu makalemde GridView ya da DataGrid kontrolünden faydalanarak Excel’e yazdırma işleminin nasıl kolay bir şekilde ve sorunsuz yapılabileceğinden bahsedeceğim.

Bu yöntemimizde arka planda eventlarıyla beraber bir DataGrid kontrolü oluşturup,veriyle dolduruyoruz.Daha sonra kontrolümüzü render edip Excele yazdırıyoruz. Görüntülerken kullandığımız GridView ile Excele yazdırırken kullandığımız DataGrid aslında birbirinden farklı.Bu yüzden görüntülerken sayfalama işlemlerini ilgili gridviewde yapabilirken,diğerinde tüm veriyi excele yazdırabiliyoruz. (Her ikisi de DataGrid veya Gridview olabilir,kodlar her iki kontrol içinde geçerlidir.)

Yazdırma işlemini yaparken rakamların Excelde gözükmesi için GridViewin herbir itemının ilgili Celline style atamalıyız.Aksi taktirde Excele başında sıfır olan bir değer atmaya kalkışırsak bu sıfırların gözükmediğine şahit oluruz..Yani Posta Kodu alanında sıfırların gelmesi için aşağıdaki satırı kodlarımıza eklemeliyiz.Aksi taktirde Excele yazdırırken en başta sıfır olan posta kodlarındaki sıfırlar gözükmeyecektir.

dg.Items(intTemp).Cells(5).Attributes.Add("class", "NumberString")

Imports System.Data.SqlClient

Partial Class _Default

Inherits System.Web.UI.Page

Dim WithEvents dg As New DataGrid

"DataGridimizi witheventsla oluşturmalıyız.Böylece itemdatabound gibi olaylarındanda excele yazdırırken faydalanabiliriz.

Dim ds As New Data.DataSet

Dim conn As New SqlConnection("Network Library=DBMSSOCN;Data Source=test;Initial Catalog=Northwind;User ID=test; Password=1")

Dim da As New SqlDataAdapter("Select CustomerId,CompanyName,ContactName,ContactTitle,City,PostalCode from Customers", conn)

Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click

Response.Clear()

Response.Buffer = True

Response.ContentType = "application/vnd.ms-excel"

Dim filename As String = "Rapor" & "_" & ".xls"

Response.AddHeader("Content-Disposition", "attachment; filename=""" & filename & """")

Response.ContentEncoding = System.Text.Encoding.GetEncoding(1254)

"Türkçe Karakterler için 1254 kullanmalıyız.

Response.Charset = ""

EnableViewState = False

Dim stringWrite As New System.IO.StringWriter

dg.DataSource = ds.Tables(0)

dg.DataBind()

For intTemp As Integer = 0 To ds.Tables(0).Rows.Count - 1

dg.Items(intTemp).Cells(5).Attributes.Add("class", "NumberString")

Next

"Gridviewimize kendisini html text writer nesnemize render etmesini söylüyoruz.

dg.RenderControl(htmlWrite)

Dim styleinfo As String

styleinfo = "<style>.NumberString {mso-number-format:\@;}</style>"

Response.Write(styleinfo)

Response.Write(stringWrite.ToString)

Response.End()

End Sub

Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load

da.Fill(ds, "Employees")

GridView1.DataSource = ds.Tables(0)

GridView1.DataBind()

End Sub

Bu şekilde programımızı tamamlamış olduk.











Derecelendir
Kaynak Tahkikat-ı Enderun Tarafından yazılmış/derlenmiştir.
İçerik İhbarı
Bağlantılar: bilgininefendisi.net

Open Source Document Project AUP&TOS