我有一个CSV文件,我想在datagridview中显示该文件的内容。我正在使用LumenWorks.Framework.IO.Csv
库这样做,这是我的代码:
Dim CSVPath As String = CSVLocation.Text
Dim dt As New DataTable
dim csvR As New CsvReader(New StreamReader(CSVPath), false)
dt.Load(csvR)
dataGridViewSection.DataSource=dt
现在我的问题是,只有CSV文件的第一列正在读取并显示在datagridview中。
我发现原因是我的CSV文件的第一行仅包含1个字符串,而标题实际上位于文件的第三行。
这是NotePad中CSV文件的外观:
ETABS
23,,,22,,,8,,,,,,13,,,5,,,,,77,,,,,,,,,6,,,,,,159,,,,,,,,,,,471
GridX,X(ft),,GridY,Y(ft),,GridGen,X1(ft),Y1(ft),X2(ft),Y2(ft),[...],Level
前两行包含对程序有用的数据(包括项目计数等),但不需要显示。
有没有办法在仍然可以在后台访问该数据的同时从数据表中丢弃前两行?
编辑:一种解决方法是用一个点填充第一行的每个单元格,直到我们到达最后一列,以使读者注意到存在多列,因此CSV文件看起来像这个:
ETABS,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,[...],.
23,,,22,,,8,,,,,,13,,,5,,,,,77,,,,,,,,,6,,,,,,159,,,,,,,,,,,471,,,,,,,
GridX,X(ft),,GridY,Y(ft),,GridGen,X1(ft),Y1(ft),X2(ft),Y2(ft),[...],Level
但这是一种非常优雅的方法。