如何直接从JSON文件上载内容

如何直接从JSON文件上载内容,json,excel,upload,vba,Json,Excel,Upload,Vba,我需要将数据从文本文件上传到Excel。这是JSON数据。大约50kB。如果我定期将其上传到一个单元格中,Excel就会冻结。有没有办法将文件内容直接上传到VBA变量?找到了它,解决方案就在这里,它可以工作: 您不希望从文本导入Excel,而是希望从JSON导入Excel。 如果你必须一次做一次,你最好使用一些免费的在线工具将JSON转换成CSV。例如 否则,如果您想构建一个将JSON文件解析为Excel的工具,我建议您遵循以下步骤: 那么您想将原始JSON数据读入一个变量中吗?是的。请看一下

我需要将数据从文本文件上传到Excel。这是JSON数据。大约50kB。如果我定期将其上传到一个单元格中,Excel就会冻结。有没有办法将文件内容直接上传到VBA变量?

找到了它,解决方案就在这里,它可以工作:


您不希望从文本导入Excel,而是希望从JSON导入Excel。 如果你必须一次做一次,你最好使用一些免费的在线工具将JSON转换成CSV。例如 否则,如果您想构建一个将JSON文件解析为Excel的工具,我建议您遵循以下步骤:


那么您想将原始JSON数据读入一个变量中吗?是的。请看一下这个主题,并为我们提供一些我们可以帮助您的代码示例。你也可以看看下面的链接:,是的,没错..我不是问解析的问题。我需要的只是从文本文件上传JSON字符串并将其存储到变量中。
Dim fileName As String, textData As String, textRow As String, fileNo As Integer
fileName = "C:\text.txt"
fileNo = FreeFile 'Get first free file number  

Open fileName For Input As #fileNo
Do While Not EOF(fileNo)
   Line Input #fileNo, textRow
   textData = textData & textRow
Loop
Close #fileNo
Public Sub exceljson()
Dim http As Object, JSON As Object, i As Integer
Set http = CreateObject("MSXML2.XMLHTTP")
http.Open "GET", "http://jsonplaceholder.typicode.com/users", False
http.Send
Set JSON = ParseJson(http.responseText)
i = 2
For Each Item In JSON
Sheets(1).Cells(i, 1).Value = Item("id")
Sheets(1).Cells(i, 2).Value = Item("name")
Sheets(1).Cells(i, 3).Value = Item("username")
Sheets(1).Cells(i, 4).Value = Item("email")
Sheets(1).Cells(i, 5).Value = Item("address")("city")
Sheets(1).Cells(i, 6).Value = Item("phone")
Sheets(1).Cells(i, 7).Value = Item("website")
Sheets(1).Cells(i, 8).Value = Item("company")("name")
i = i + 1
Next
MsgBox ("complete")
End Sub