VB读取CSV文件,提高效率的问题
VB读取CSV文件(40列,大概8000行)。采用逐行用Split函数读取的方法,存入40个组合框中。目前已经做出来了,但是耗时30秒,感觉画的时间有点长。需要的是其中的约1000行数据,但是需要把数据都读取出来,才能判断所需数据的起止位置
请问:有没有优化的方法?①是读取的方法不行?曾经在百度上求助,有人说可以用读取数据库的方法。②还是读入到组合框Combo之中不合适?
代码如下(代码不用细看,主要是想说明是使用split读取的):
csvfile = App.Path & "\" & Text10.Text & "\" & Combo3.List(k) 'CSV文件路径与用户名
Open csvfile For Input As #1 '打开文件
Do While Not EOF(1) '判断是否到达文件尾部
ReDim Preserve f(i) '重新定义数组上标
Line Input #1, f(i) '读取整行数据
For j = 0 To 30
If Val(Form3.Text3(j)) > 0 Then
ls = Split(f(i), ",")(Form3.Text3(j)) '读取这行数据按逗号分隔的第二个数据,0是第一个数据
ls = Replace(ls, """", "") '如果数据希望去除两边的双引号可以添加这行代码
(j).AddItem ls
End If
Next
End If
i = i + 1 '行数加1
Loop '循环
Close #1