你好,我有机会改变从gridview导出的数据的标题名称吗?下面是我的代码,它工作正常。我唯一的问题是我不能改变标题名称
我的代码
Dim strFilename As String = Now.Date.Month.ToString + Now.Date.Day.ToString + Now.Hour.ToString + Now.Minute.ToString + Now.Second.ToString
Response.AddHeader("content-disposition", "attachment;filename=" & strFilename & ".xls")
Response.Clear()
Response.Charset = ""
Response.ContentType = "application/vnd.ms-excel"
Dim stringWrite As System.IO.StringWriter = New System.IO.StringWriter()
Dim htmlWrite As System.Web.UI.HtmlTextWriter = New System.Web.UI.HtmlTextWriter(stringWrite)
Dim dg As System.Web.UI.WebControls.DataGrid = New System.Web.UI.WebControls.DataGrid()
dg.DataSource = dt
dg.DataBind()
dg.RenderControl(htmlWrite)
Response.Write(stringWrite.ToString())
Response.End()
结果是
ID Fname
1 aaa
2 bbb
2 ccc
我想这样
Employee ID First Name
1 aaa
2 bbb
3 ccc
3条答案
按热度按时间xiozqbni1#
下面是我用来导出从here中截取的GridView的类,它可以处理模板列和图像控件(显示替换文本)。
您可能需要查看PrepareControlForExport()是如何处理一些控件的,也可能需要在PrepareControlForExport()中添加更多控件的处理,因为它还不完整。
4uqofj5v2#
您没有在DataGrid上定义任何列,因此它会自动生成这些列,并生成以下HTML(带有excel标题):
如果向DataGrid添加一些列,则可以获得所需的输出(不要忘记包括dg.AutoGenerateColumns = false):
yyhrrdl83#
您还没有在GridView上定义任何列,所以它会自动生成这些列,生成以下HTML(带有excel标题):
如果您向GridView中添加一些列,就可以获得所需的输出(不要忘记包含gv.AutoGenerateColumns = false):