【发布时间】:2014-05-14 08:30:58
【问题描述】:
我正在将 gridview 导出到 csv 文件。下面的代码运行良好,但是 csv 文件中缺少 gridview 的列标题。
Response.Clear()
Response.Buffer = True
Response.AddHeader("content-disposition", "attachment;filename=sample.csv")
Response.Charset = ""
Response.ContentType = "application/text"
Dim sBuilder As StringBuilder = New System.Text.StringBuilder()
For index As Integer = 0 To GridView1.Columns.Count - 1
sBuilder.Append(GridView1.Columns(index).HeaderText + ","c)
Next
sBuilder.Append(vbCr & vbLf)
For i As Integer = 0 To GridView1.Rows.Count - 1
For k As Integer = 0 To GridView1.HeaderRow.Cells.Count - 1
sBuilder.Append(GridView1.Rows(i).Cells(k).Text.Replace(",", "") + ",")
Next
sBuilder.Append(vbCr & vbLf)
Next
Response.Output.Write(sBuilder.ToString())
Response.Flush()
Response.[End]()
如何将列标题包含到 csv 中?
提前致谢。
【问题讨论】:
-
首先,当您添加列名时,“c”不应位于附加的末尾,我将使用相同的方法来迭代列标题,例如
GridView1.Columns.Count或GridView1.HeaderRow.Cells.Count但不能同时使用两者 -
那么我应该把'c'放在哪里?
-
sBuilder.Append(GridView1.Columns(index).HeaderText + ","c) 中的最后一个c是做什么的?它是一个字符串吗?它在引号之外。它是一个字符?这不违反 .Append() 参数吗?
-
不,它没有……我已经尝试删除那个“c”字符,但结果没有改变……
-
根本不应该存在
标签: asp.net vb.net csv gridview