Vb.net 为什么我的CSV编写器会跳过一些行?运动模拟
我不知道为什么我的CSV作者跳过了一些行。我今天尝试导出一个gridview,并通过Concisdence看到了它。网格有250行。它写1-60,然后继续写140-250。excel表中是否缺少61-139 对于代码:首先,我创建一个包含所有列的列表,因为writer方法也应该能够只写特定的列,但这是另一个按钮。 然后将网格和列表提供给csv编写器Vb.net 为什么我的CSV编写器会跳过一些行?运动模拟,vb.net,csv,gridview,Vb.net,Csv,Gridview,我不知道为什么我的CSV作者跳过了一些行。我今天尝试导出一个gridview,并通过Concisdence看到了它。网格有250行。它写1-60,然后继续写140-250。excel表中是否缺少61-139 对于代码:首先,我创建一个包含所有列的列表,因为writer方法也应该能够只写特定的列,但这是另一个按钮。 然后将网格和列表提供给csv编写器 Private Sub Button4_Click(sender As Object, e As EventArgs) Handles Button
Private Sub Button4_Click(sender As Object, e As EventArgs) Handles Button4.Click
Dim list As List(Of Integer) = New List(Of Integer)
For Each column As DataGridViewColumn In datagridview2.Columns
list.Add(column.Index)
Next
Module3.csvwriter(list, datagridview2)
MsgBox("exportieren beendet")
End Sub
csv编写器为每个数据行创建csv正文字符串。
对于每行,如果columnindex在列表中,则将每个columnvalue追加到body。
最好的是,我已经看到了该方法是如何构建第61行的,但在csv中却没有:/
Public Sub csvwriter(list As List(Of Integer), grid As DataGridView)
Dim body As String = ""
Dim myWriter As New StreamWriter(Importverzeichnis.savecsv, True, System.Text.Encoding.Default)
Dim i As Integer
For i = 0 To grid.Rows.Count - 1
For ix = 0 To grid.Columns.Count - 1
If list.Contains(ix) Then
If grid.Rows(i).Cells(ix).Value IsNot Nothing Then
body = body + grid.Rows(i).Cells(ix).Value.ToString + ";"
Else
body = body + ";"
End If
End If
Next
myWriter.WriteLine(body)
body = ""
Next
myWriter.Close()
End Sub
有人有主意吗?我是否忽略了什么?我找到了答案。
1.csv文件已完成。每一排都在那里