将Datagrid数据导出到.csv文件 [英] Export Datagrid data to .csv file
问题描述
您好,先生/女士,
首先,我将数据绑定到datagrid中,此数据显示在.csv文件中,该怎么做?我正在尝试,但是如果长文本在csv文件中的时间显示在datagrid中,则需要2或3行,但是我的目标是,如果用户此时输入长文本,它也将以单行显示.
并且如果我在那个时候在写字板中打开这个csv文件,它也会在最后一列显示逗号.我的目标是最后一列不显示逗号.
我的代码:
Hi Sir/Madam,
First I bind a data into datagrid, this data is displayed in .csv file how to do this? I am try but if long text is displayed in datagrid that time in csv file it take 2 or 3 lines but my aim is if user enter long text that time also it display in single line.
And if i open this csv file in wordpad that time it display comma to last column also. My aim is comma is not displayed for last column.
My code:
Private Function ToCSV(ByVal dataTable As DataTable) As String
Dim sb As New StringBuilder()
If dataTable.Columns.Count <> 0 Then
For Each column As DataColumn In dataTable.Columns
sb.Append("," & column.ColumnName)
Next
sb.Remove(0, 1)
sb.Append(vbCr & vbLf)
For Each row As DataRow In dataTable.Rows
For Each column As DataColumn In dataTable.Columns
sb.Append(row(column).ToString() + ","c)
Next
sb.Append(vbCrLf)
Next
End If
Return sb.ToString()
End Function
然后在按钮中单击
''//在这里我绑定了datagrid
然后
and in button click
''// here i bind datagrid
and then
Response.ContentType = "Application/x-msexcel"
Response.AddHeader("content-disposition", "attachment;filename=Reports.csv")
Response.Write(ToCSV(tdata))
Response.[End]()
请帮帮我.
谢谢.
Please help me.
Thanks.
推荐答案
尝试像这样修改ToCSV()函数:
Try modifying your ToCSV() function like this:
Private Function ToCSV(ByVal dataTable As DataTable) As String
Dim sb As New StringBuilder()
If dataTable.Columns.Count <> 0 Then
For Each column As DataColumn In dataTable.Columns
sb.Append("," & column.ColumnName)
Next
sb.Remove(0, 1)
sb.Append(vbCr & vbLf)
For Each row As DataRow In dataTable.Rows
For I As Integer = 0 To dataTable.Columns.Count - 1
Dim column As DataColumn = dataTable.Columns(I)
If I <> dataTable.Columns.Count - 1 Then
sb.Append(row(column).ToString() + ","c)
Else
sb.Append(row(column).ToString())
End If
Next
sb.Append(vbCrLf)
Next
End If
Return sb.ToString()
End Function
这篇关于将Datagrid数据导出到.csv文件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!