我有这种 CSV :
因此,当我使用“从文本文件获取数据”导入EXCEL 2013时,
1)如何说分隔符 IS QUOTES + COMMA,
2)对于Excel,字段中的BREAK LINE是新的数据行......怎么说不是?
我知道 CSV 是 Web 上一个很长的话题,但没有明显的解决方案。所以谢谢你的帮助。
我有这种 CSV :
因此,当我使用“从文本文件获取数据”导入EXCEL 2013时,
1)如何说分隔符 IS QUOTES + COMMA,
2)对于Excel,字段中的BREAK LINE是新的数据行......怎么说不是?
我知道 CSV 是 Web 上一个很长的话题,但没有明显的解决方案。所以谢谢你的帮助。
第 1 步:我将首先修复文件:
Sub ImportData()
Dim dataTextFile As String
Dim outTextFile As String, splitPart As String, missingPart As String, ret As String
'---Read the file---
Open "C:\Data.txt" For Input As #1
dataTextFile = Input$(LOF(1), 1)
Close #1
dataTextFile = Replace(dataTextFile, vbNewLine, "[NEW_LINE]")
ret = GetRegex("(.*?,.*?,.*?),")
outTextFile = outTextFile & ret & vbNewLine
Do While 1
If (ret = GetRegex(dataTextFile, ",(.*?,.*?,.*?)")) <> "" Then
Exit Do
Else
outTextFile = outTextFile & ret & vbNewLine
dataTextFile = Right(dataTextFile, Len(dataTextFile) - Len(ret))
End If
Loop
'---Write back to the file---
Open "C:\Data.txt" For Output As #1
Write #1, outTextFile
Close #1
End Sub
您可以在此处找到 GetRegex 函数:链接。或者只使用一般的 Regex 对象。警告:我没有测试过代码,所以你可能需要做一些修改。
第 2 步:接下来,您只需通过 Import Wizar d 将文件正常导入为逗号分隔文件。
第 3 步:最后通过宏或任何其他方式将“[NEW_LINE]”替换为换行符。
或者,您也可以在同一个宏中执行步骤 2-3 - 并使用 Right 函数或 Regex 将列提取到输出工作表。