2016-01-03 60 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

相關問題