TStringList分割CSV文件成两部分添入ListView提示“越界”
csv文件如下:
"R7","RESPACK-4","117.42mm","10.51mm","118.74mm","11.24mm","118.75mm","11.26mm","T","90.00","4.7K"
"C6","RESPACK-4","140.94mm","43.37mm","140.28mm","44.74mm","140.28mm","44.74mm","T","0.00","4.7K"
我只要前2列和后5列的数据(即上面黑体部分),我采用TStringList分割,并显示在ListView中,代码如下:
if(OpenTextFileDialog1 -> Execute()) { csvFile -> LoadFromFile(OpenTextFileDialog1 -> FileName); for(int i = 0; i < csvFile -> Count; i++) // i表示行 { csvCol -> Delimiter = ','; csvCol -> DelimitedText = csvFile -> Strings[i]; TListItem *csvlist = ListView1 -> Items -> Add(); csvlist -> Caption = csvCol -> Strings[0]; for(int j = 1; j < csvCol -> Count - 9; j++) // j表示前2列, 共11列 { ListView1 -> Items -> Item[i] -> SubItems -> Add(csvCol -> Strings[j]); } for(int k = 7; k < csvCol -> Count; k++) // k表示后5列, 共11列 { ListView1 -> Items -> Item[i] -> SubItems -> Add(csvCol -> Strings[k]); } } }