将很大的数组读入Excel工作表的最佳方法

帕特里克·福伊

我必须将多个文本文件导入excel并将每个文本文件添加到新表中。某些文件上的行数超过350,000。循环要花很长时间,以至于它不是真正的用户友好。我试图用它来快速读取数据

Dim arrLines() As String
Dim lineValue As String

lineValue = ts.ReadAll
DoEvents
arrLines() = Split(lineValue, vbCrLf)


Dim Destination As Range
Set Destination = Worksheets(WorksheetName).Range("A2")
Set Destination = Destination.Resize(UBound(arrLines), 1)
Destination.Value = Application.Transpose(arrLines)

但这导致行41243之后的每个值仅具有“#N / A”值。我当时正在考虑使用Application.Index将数组拆分为较小的数组,但是您需要为index函数提供一个要组成新数组的行数组,这将意味着创建一个循环以遍历整个数组。数字1-41000,然后是41001-82000,依此类推。在这一点上,我正在做一个循环来创建数组,这并不是真的快。同样,逐行循环文件也太慢。在如此众多的行中进行读取而又不会导致缺少值的好方法是什么?

帕特里克·福伊

Mathieu Guindon正是我所希望的解决方案。消除移调已解决了#N / A值的问题。谢谢!

编辑:

该代码只是将数组中的数据第二次循环到二维数组中,然后将其发布到该范围内而没有转置效果。它比以前的方法要慢一些(大约需要两分钟或更长的时间),但是仍然相当快,并且可以产生我想要的结果。代码如下:

    lineValue = ts.ReadAll
DoEvents
arrLines() = Split(lineValue, vbCrLf)
Dim arrBetween() As Variant
ReDim arrBetween(UBound(arrLines), 0)

LoopLength = UBound(arrLines) - 1

For i = 0 To LoopLength
    arrBetween(i, 0) = arrLines(i)

    DoEvents

    If i Mod 2500 = 0 Or i = LoopLength Then
        Application.StatusBar = "Importing " & WorksheetName & " " & (i) & " ."
    End If
Next i

Dim Destination As Range
Set Destination = Worksheets(WorksheetName).Range("A2:A" & UBound(arrLines))

Destination.Value = arrBetween

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

将整数从文本文件读入数组的最佳方法

使用Pandas将Excel工作表(Listobject)读入python

C ++(不是C ++ 11)以很大的方法释放数组的最佳方法

以文件名为列,按工作表将所有 Excel 文件读入 R

使用或运算符将Excel中的可选工作表读入R

将多个Excel工作表读入单个制表符分隔的文本文件中

Python:如何将多个Excel工作表读入列表?

使用JavaScript将Excel文件读入数组

将所有列读入字符串的最佳方法

Python-将稀疏文件读入稀疏矩阵的最佳方法

如何将Excel工作表读入R中的一个数据框中并跳过某些行

将每个工作表读入新的数据框

用Java将表数据读入2D数组

将CSV读入数组

如何使用评估方法将值填充到 VBA 数组中并将它们返回到 Excel 工作表?

将时间戳添加到Excel工作表的方法

遍历Excel Javascript API中所有工作表的最佳方法?

这是在C#中操作Excel文档的数据/工作表的最佳方法

用Java将文件读入byte []数组的绝佳方法

C ++。将符号行读入char数组/向量的最快方法

如何将Roo Excel工作表中的数组放入二维数组中

将 mySQL 表保存到数组并分配给工作表 - Excel VBA

将excel文件读入R并将其中的所有工作表合并到一个数据框中

从数组创建新数组并将值推入Apps脚本中的不同工作表的最佳方法是什么?

在C#中将大文件读入字节数组的最佳方法?

将PHP数组卸载到html表中的最佳方法是什么

将值读入数组的结构

将文件列读入数组

将.xyz文件读入数组