一、是函数 Protected Sub ToExcel_Click(ByVal sender As Object, ByVal e As System.EventArgs)
Response.Clear()
Response.Buffer = True
Response.Charset = "GB2312"
Response.AppendHeader("Content-Disposition", "attachment;filename=Setp.xls")
Response.ContentEncoding = System.Text.Encoding.UTF7
' 如果设置为 GetEncoding("GB2312");导出的文件将会出现乱码!!! by leihuan
Response.ContentType = "application/ms-excel"
'设置输出文件类型为excel文件 by leihuan
Dim oStringWriter As System.IO.StringWriter = New System.IO.StringWriter
Dim oHtmlTextWriter As System.Web.UI.HtmlTextWriter = New System.Web.UI.HtmlTextWriter(oStringWriter)
'为了解决分页问题,所以在导出EXCEL之前,把分页改成不分页,导出后再改回
GridView1.AllowPaging = False
SqlDataSource1.FilterExpression = txtSQLContent.Text
GridView1.DataBind()
Me.GridView1.RenderControl(oHtmlTextWriter)
Response.Output.Write(oStringWriter.ToString)
Response.Flush()
Response.End()
GridView1.AllowPaging = True
SqlDataSource1.FilterExpression = txtSQLContent.Text
GridView1.DataBind()
End Sub
'为转EXCEL出问题而加上的过程(一定加!!)by leihuan
Public Overloads Overrides Sub VerifyRenderingInServerForm(ByVal control As Control)
End Sub
二是在相关显示页面头上一定要加上
EnableEventValidation = "false" 这个,要不然会出错