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