gpt4 book ai didi

excel - 通过VBA打开CSV文件(性能)

转载 作者:行者123 更新时间:2023-12-01 18:35:07 26 4
gpt4 key购买 nike

显然,这个问题已经被问过很多次了。正常流程:

Workbooks.Open(ActiveWorkbook.Path 和“\Test.csv”)

无法正确解析 CSV(一个单元格中有许多行)

感谢 Lernkurve,我可以使用他的函数来正确处理:Opening semicolon delimited CSV file

Sub ImportCSVFile(filepath As String)
Dim line As String
Dim arrayOfElements
Dim linenumber As Integer
Dim elementnumber As Integer
Dim element As Variant

linenumber = 0
elementnumber = 0

Open filepath For Input As #1 ' Open file for input
Do While Not EOF(1) ' Loop until end of file
linenumber = linenumber + 1
Line Input #1, line
arrayOfElements = Split(line, ";")

elementnumber = 0
For Each element In arrayOfElements
elementnumber = elementnumber + 1
Cells(linenumber, elementnumber).Value = element
Next
Loop
Close #1 ' Close file.
End Sub

但这并不快(我有包含数千列的文件),我的问题是:

是否有任何本地方法可以在 Excel 中打开 CSV 文件并进行正确的解析?

最佳答案

Workbooks.Open 也可以工作。

Workbooks.Open ActiveWorkbook.Path & "\Temp.csv", Local:=True

这有效/是必需的,因为我在德国使用 Excel,并且 Excel 默认使用“,”来分隔 .csv,因为我使用 Windows 的英文安装。即使您使用下面的代码,Excel 也会强制使用“,”分隔符。

Workbooks.Open ActiveWorkbook.Path & "\Test.csv", , , 6, , , , , ";"

Workbooks.Open ActiveWorkbook.Path & "\Temp.csv", , , 4 +此方法的变体不起作用(!)

如果被 Local 参数屏蔽了,为什么还要有分隔符参数?!这完全没有意义。但现在它可以工作了。

关于excel - 通过VBA打开CSV文件(性能),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9564908/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com