将数组传输到文本文件的最快方法

时间:2019-04-30 13:50:00

标签: excel vba

我有一个包含300万个项目的一维数组,我想将其传输到文本文件中。我尝试了FileSystemObject方法,这对我来说不够快。因此,我尝试写入工作表中的单元格并将其导出为txt文件,但是我仍在寻找一种将数组写入txt文件的更快方法。

2 个答案:

答案 0 :(得分:2)

尝试类似的事情

FilePath = "C:\output.txt"
Set FileStream = CreateObject("ADODB.Stream")
FileStream.Open
FileStream.Type = 2 'Text
FileStream.Charset = "utf-8"
FileStream.WriteText vba.Strings.Join(YourArray)
FileStream.SaveToFile (FilePath)
FileStream.Close

答案 1 :(得分:1)

请也尝试Put(也许以后再尝试获取):

Private Sub TestPut(myArray() as string)
    Dim handle As Long
    handle = FreeFile
    Open Application.Defaultfilepath & "\Whatever.txt" For Binary As #handle
    Put #handle, , myArray
    Close #handle
End Sub

您可以将数组作为单个字符串连接,以防止出现不需要的描述符(请参见上面的Put-documentation),并定义CR或CRLF或其他作为定界符的元素,
但仅当结果字符串的长度不超过2,147,483,647字节时:

Put #handle, , Join(myArray, vbCrLf)