关于 GRIDVIEW 导出EXCEL的问题.

华芸智森 2007-10-10 04:48:47

'//下面的代码是测试代码.将一个 MDX 查询绑定到 GRIDVIEW 中.
'//表头及列已经合并处理.所以是无法将表头导出的,导出前必须先处理.
'//但是,处理后导出却为乱码,缘何?
'//麻烦大家了.

Protected Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim T As New SingleCtrlDll.AdoMDNet
T.BindMDXQueryToGridView(TextBox1.Text, GridView1, , " ")
TextBox2.Text = T.GetGridViewHandHtm
T.Dispose()
End Sub

Public Overloads Overrides Sub VerifyRenderingInServerForm(ByVal control As Control)
'//
End Sub

Protected Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click

Response.Clear()
Response.Buffer = True
Response.Charset = "GB2312"
Response.AppendHeader("Content-Disposition", "attachment;filename=FileName.xls")
Response.ContentEncoding = System.Text.Encoding.UTF7
Response.ContentType = "application/ms-excel"
Me.EnableViewState = False
Dim oStringWriter As System.IO.StringWriter = New System.IO.StringWriter
Dim oHtmlTextWriter As System.Web.UI.HtmlTextWriter = New System.Web.UI.HtmlTextWriter(oStringWriter)
Me.GridView1.RenderControl(oHtmlTextWriter)

'//如果导出的过程中,对导出字符处理了一次,则导出为乱码.
'//请问,如何在这里正确地导出?

Response.Output.Write(HttpUtility.UrlEncode("<html>" & Replace(oStringWriter.ToString, "<tr style=""background:#FFF"">", TextBox2.Text, , 1) & "</html>", Encoding.UTF7))

Response.Flush()
Response.End()

End Sub
...全文
104 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
liuyjcel 2007-10-11
  • 打赏
  • 举报
回复
帮顶。。
孟子都说话了,就没有什么说的了。
lorchen 2007-10-11
  • 打赏
  • 举报
回复
因为你网页用的编码机制与数据库的不一致,用UTF-8。
viena 2007-10-10
  • 打赏
  • 举报
回复
没导过~
华芸智森 2007-10-10
  • 打赏
  • 举报
回复

KAO..改回来就好了.
Response.Output.Write(Replace(oStringWriter.ToString, " <tr style=""background:#FFF"" >", TextBox2.Text, , 1) )
上面这句话是我第一次试的.试了几次不成..现在改回来.竟然好了?
为什么会这样?

还有,导出来的结果是白底的.
能不能按原样导出?
sunlovesea 2007-10-10
  • 打赏
  • 举报
回复
帮顶~~
又见到孟子了。
我就不说了~~~
华芸智森 2007-10-10
  • 打赏
  • 举报
回复
谢谢老大,我试试看..
孟子E章 2007-10-10
  • 打赏
  • 举报
回复
换UTF8等

62,041

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧