繁体   English   中英

vb.net用定界符将datagridview保存到文本文件

[英]vb.net save datagridview to text file with delimiter

我如何使用分隔符将单元格值保存到文本文件中,我有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

您的新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())

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM