Monday, March 30, 2009

Export To Excel Using DataTable

Selain menggunakan XML,HTMLWrite dan clientscript,korang boleh juga export data ke excel menggunakan datatable .

Contohnya (using vb.net)

Function ExportToExcel(ByVal dt As DataTable, ByVal startIdx As Integer)
Dim txt As String = ""
Dim dr As DataRow, ary() As Object, i As Integer
Dim iCol As Integer
Dim sb as stringbuilder= new stringbuilder()

If dt.Rows.Count > 0 Then
'Output Column Headers
For iCol = startIdx To dt.Columns.Count - 1
sb.append(dt.Columns(iCol).ToString & vbTab)
Next
sb.append(vbCrLf)

'Output Data
For Each dr In dt.Rows
ary = dr.ItemArray
For i = startIdx To UBound(ary)
sb.append(Trim(ary(i).ToString) & vbTab)
Next
sb.append(vbCrLf)
Next
End If
Return sb.tostring()

End Function

'//remarks:make sure event handler coontrol is outside of updatepanel control
Sub btn_click...
Dim attachment As String = "attachment; filename=Employee.xls"
Dim val As String = ""
Response.ClearContent()
Response.AddHeader("content-disposition", attachment)
Response.ContentType = "application/vnd.ms-excel"
val =ExportToExcel(DtTable, 0) '<--DtTable is your gridview datatable
Response.Write(val)
Response.End()
End sub

No comments: