2016-01-03 40 views
0

我怎么能保存单元格的值到文本文件分隔符 我有9行 和我有这样的代码vb.net保存的datagridview到文本文件分隔符

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 
+0

什么失败?错误消息,异常类型? – Fabio

+0

保存到文件时没有vbnewline –

+0

没有它会在写入文本文件时自动给出新行,也可以在第一个循环中获得索引0并且在第二个循环中索引0仍然存在于索引1中,然后在第三个循环中的2个值也得到索引0,1,3 –

回答

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()) 
+0

嗨法比奥这个代码中的问题是它在开始时追加分隔符我不需要它。无论如何感谢您的帮助...添加newoutputlines.Clear()我的代码完美 –

+0

@JuliusMalundras,只有在第一项后才会添加分隔符。有条件'if v> 0 then text.Append(“|”)' – Fabio

相关问题