加载CSV文件更快

我加载了大约75个包含一行的CSV文件。

For dataRow = 8 To Worksheets("Liste").Range("B65535").End(xlUp).Row If Dir(FilePath & Worksheets("List").Cells(dataRow, 2) & ".csv") <> "" Then Open FilePath & Worksheets("List").Cells(dataRow, 2) & ".csv" For Input As #2 Line Input #2, LineFromFile LineItems = Split(LineFromFile, ";") itemNumber = 0 For i = 2 To 367 Worksheets("Calendar").Cells(dataRow, i).value = Replace(LineItems(itemNumber), Chr(34), "") itemNumber = itemNumber + 1 Next End If Close #2 Next 

问题是,这个代码非常慢。 加载这些数据需要大约20秒的时间。 (27450个数据集,27,3kb)

有没有办法加快加载? 我认为我的SSD速度够快。

这里有两件事你可以做,以加快你的代码:

  1. 只做一次双引号字符replace。
  2. 将所有数据写入单元格一次。

第二项可能会给你最快的速度,因为读/写单元是耗时的。 试试这个代码:

 If Dir(FilePath & Worksheets("List").Cells(datarow, 2) & ".csv") <> "" Then Open FilePath & Worksheets("List").Cells(datarow, 2) & ".csv" For Input As #2 Line Input #2, LineFromFile LineFromFile = Replace(LineFromFile, Chr(34), "") lineitems = Split(LineFromFile, ";") With Worksheets("Calendar") .Range(.Cells(datarow, 2), .Cells(datarow, 367)).Value = lineitems End With End If