Implement to pour the data from the DataGrid out of the Excel file and download

Source: Internet
Author: User
Tags chr integer tostring
datagrid|excel| Data | Download Imports System
Imports System.Text
Namespace Toexcel

' Function: The datagrid in the ASP.net to generate Excel file downloads.
' Mountains improvement: 1, Support Chinese 2, hidden column does not show
' Date: 2002.10.30
Public Class Datagridtocsv

Public Function Generatefile (ByRef Page as System.Web.UI.Page, ByVal Mydatagrid as System.Web.UI.WebControls.DataGrid, ByVal FileName As String) as String

Dim resp as HttpResponse
Dim ColCount as Integer = mydatagrid.columns.count-1

RESP = Page.Response

Resp. ContentEncoding = System.Text.Encoding.GetEncoding ("GB2312") ' The key to solve Chinese garbled characters
' Resp. Charset = "Utf-8"
' Resp. AddFileDependency (FileName)
' Resp. ContentType = "Text/html"
"Resp." Appendheader ("Content-type", "text/html; charset=gb2312 ")

Resp. Appendheader ("Content-disposition", "attachment;filename=" + filename) ' necessary, made download file


Dim colheaders as String = ""
Dim Stritems as StringBuilder = New StringBuilder ()

Dim MyCol as DataGridColumn

Dim I as Integer

For i = 0 to ColCount
MyCol = Mydatagrid.columns (i)
If mycol.visible = True Then
Colheaders = colheaders & myCol.HeaderText.ToString & ","
End If
Next

If colheaders.length > 0 Then
colheaders = colheaders.substring (0, Colheaders.lastindexof (","))
End If

Colheaders = colheaders & Chr (a) & Chr (10)



Resp. Write (colheaders)

Dim Colrow as String

Dim Item as DataGridItem

For each item in Mydatagrid.items
Resp. Write (Formatexportrow (ColCount, item, Mydatagrid))
Next Item

Resp. End ()

End Function

Private Function Formatexportrow (ByVal colcount as Integer, ByVal Item as DataGridItem, ByVal Mydatagrid as System.Web.UI. Webcontrols.datagrid) as String
Dim Stritem as String
Dim I as Integer

For i = 0 to ColCount
If mydatagrid.columns (i). Visible = True Then
If item.cells (i). Text is System.DBNull.Value Then
Item.cells (i). Text = ""
End If
If i = ColCount Then
Stritem + = Item.cells (i). Text.tostring & Chr (+) & Chr (10)
Else
Stritem + = Item.cells (i). Text.tostring & ","
End If
End If
Next
stritem = Replace (Stritem, "", "")
Return stritem
End Function


End Class

End Namespace


Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.