【发布时间】:2014-01-02 19:54:49
【问题描述】:
我正在尝试将 gridview 导出到 csv 文件,但我的代码似乎只是导出标题。
这是我的代码:
Protected Sub btnCSV_Click(sender As Object, e As EventArgs) Handles btnCSV.Click
Response.Clear()
Response.Buffer = True
Response.AddHeader("content-disposition", "attachment;filename=GridViewExport.csv")
Response.Charset = ""
Response.ContentType = "application/text"
gvReports.AllowPaging = False
gvReports.DataBind()
Dim sb As New StringBuilder()
For k As Integer = 0 To gvReports.Columns.Count - 1
'add separator
sb.Append(gvReports.Columns(k).HeaderText + ","c)
Next
'append new line
sb.Append(vbCr & vbLf)
For i As Integer = 0 To gvReports.Rows.Count - 1
For k As Integer = 0 To gvReports.Columns.Count - 1
'add separator
sb.Append(gvReports.Rows(i).Cells(k).Text + ","c)
Next
'append new line
sb.Append(vbCr & vbLf)
Next
Response.Output.Write(sb.ToString())
Response.Flush()
Response.End()
End Sub
单击“导出为 CSV”按钮后,我只得到一行数据(即 gridview 的标题行)。我在这里做错了什么?
【问题讨论】:
-
您确定在处理程序运行时填充了
gvReports? -
@Andrew 是的。看起来再次绑定gridview(gvReports.databind())使行数为零。我评论了它,它的工作原理!谢谢!
标签: asp.net vb.net csv gridview