vb.net使用分隔符将datagridview保存到文本文件

时间:2016-01-03 05:36:53

标签: vb.net

如何使用分隔符将单元格值保存到文本文件中 我有9行 我有这个代码

Dim newoutputlines As New List(Of String)
Dim finlines As New List(Of String)
Dim aas As String = ""
For x As Integer = 0 To DataGridView1.Rows.Count - 1
    For v As Integer = 0 To 9
    'extracting cell value from 0 to 9 and add it on list
    newoutputlines.Add(DataGridView1.Rows(x).Cells(v).Value)
    Next
   'adding delimiter to list
    aas = String.Join("|", newoutputlines.ToArray())
    finlines.add(ass)
Next
IO.File.WriteAllLines(FILE_NAME, finlines.ToArray)

然后在我的文本文件中我想像这种格式一样保存

0|1|2|3|4|5|6|7|8|9 'this is from index 0 of gridview
0|3|0|8|6|5|6|7|8|0 'this is from index 1 of gridview
6|1|2|5|4|5|6|7|5|59 'this is from index 2 of gridview

但我失败了 我在我的文本文件上得到的结果是这样的

0|1|2|3|4|5|6|7|8|9
0|1|2|3|4|5|6|7|8|9|0|3|0|8|6|5|6|7|8|0
0|1|2|3|4|5|6|7|8|9|0|3|0|8|6|5|6|7|8|0|6|1|2|5|4|5|6|7|5|59

1 个答案:

答案 0 :(得分:0)

您的newoutputlines仍然有以前的值。每次添加新行时都需要清除它 但我希望通过使用StringBuilder来展示我在文件中保存值的方法。如果你有很多行,那么这种方法会更有效率。

Dim text As New StringBuilder()
For x As Integer = 0 To DataGridView1.Rows.Count - 1
    For v As Integer = 0 To 9
        'extracting cell value from 0 to 9 and add it on list
        if v > 0 Then text.Append("|")
        text.Append(DataGridView1.Rows(x).Cells(v).Value.ToString())
    Next
   'adding new line to text
    text.AppendLine()
Next
IO.File.WriteAllText(FILE_NAME, text.ToString())