У меня проблемы с загрузкой данных из файла CSV в Datagridview.
Я получаю следующую ошибку при попытке прочитать файл:
"Входной массив длиннее, чем количество столбцов в этой таблице"
Dim SR As StreamReader = New StreamReader(My.Computer.FileSystem.SpecialDirectories.Programs & "/PURTB/Data/" & TextBox1.Text & ComboBox3.Text & ".csv")
Dim line As String = SR.ReadLine()
Dim strArray As String() = line.Split(","c)
Dim dt As DataTable = New DataTable()
Dim row As DataRow
For Each s As String In strArray
dt.Columns.Add(New DataColumn())
Next
Do
line = SR.ReadLine
If Not line = String.Empty Then
row = dt.NewRow()
row.ItemArray = line.Split(",")
dt.Rows.Add(row)
Else
Exit Do
End If
Loop
Файл, который я использую, выглядит примерно так:
Файл CSV
Обновление: возможно, проблема связана с кодом экспорта.
Dim StrExport As String = ""
For Each C As DataGridViewColumn In DataGridView1.Columns
StrExport &= """" & C.HeaderText & ""","
Next
StrExport = StrExport.Substring(0, StrExport.Length - 1)
StrExport &= Environment.NewLine
For Each R As DataGridViewRow In DataGridView1.Rows
For Each C As DataGridViewCell In R.Cells
If Not C.Value Is Nothing Then
StrExport &= """" & C.Value.ToString & ""","
Else
StrExport &= """" & "" & ""","
End If
Next
StrExport = StrExport.Substring(0, StrExport.Length - 1)
StrExport &= Environment.NewLine
Next
Dim tw As IO.TextWriter = New IO.StreamWriter(My.Computer.FileSystem.SpecialDirectories.Programs & "/PURTB/Data/" & TextBox1.Text & ComboBox3.Text & ".csv")
tw.Write(StrExport)
tw.Close()