把DataGrid数据输出到Excel文件

'把DataGrid输出到Excel文件
'调用的方法:DataGridToExcel(Page, DataGrid1, filename)

Public Function DataGridToExcel(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
    resp = Page.Response
    resp.ContentEncoding = System.Text.Encoding.GetEncoding("utf-7")
    resp.ContentType = "application/vnd.ms-excel"
    resp.AddHeader("Content-Disposition", "attachment; filename=" + FileName)
    resp.Charset = "gb2312"

    Dim tw As New System.IO.StringWriter
    Dim hw As New System.Web.UI.HtmlTextWriter(tw)

    ' Get the HTML for the control.
    MyDataGrid.RenderControl(hw)
    ' Write the HTML back to the browser.
    resp.Write(tw.ToString())
    ' End the response.
    resp.End()
End Function

'存在分页时的做法
Sub Button1_Click(sender As Object, e As System.EventArgs)
    MyDataGrid.AllowPaging = "false"
    BindGrid()
   
    MyDataGrid.SelectedItemStyle.BackColor=Color.white
    MyDataGrid.AlternatingItemStyle.BackColor=Color.white
    MyDataGrid.ItemStyle.BackColor=Color.white
    MyDataGrid.HeaderStyle.BackColor=Color.white
    MyDataGrid.HeaderStyle.ForeColor=Color.red

    HttpContext.Current.Response.AppendHeader("Content-Disposition","attachment;filename=Filel.xls")

    dim resp as HttpResponse = Page.Response
    resp.ContentEncoding = System.Text.Encoding.GetEncoding("Big5")
    Response.ContentType = "application/vnd.ms-excel"
    Response.Charset = ""
    Me.EnableViewState = False
    Dim tw As New System.IO.StringWriter()
    Dim hw As New System.Web.UI.HtmlTextWriter(tw)
    MyDataGrid.RenderControl(hw)
    Response.Write(tw.ToString())
    Response.End()

    MyDataGrid.AllowPaging = "true"
    BindGrid()
End Sub
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值