将json数据导入Excel

Ric*_*mon 8 vba parsing json microsoft-excel

我有一个 json 格式的文本文件,想将其读入 Excel。json 文件的一个非常简化的示例具有以下结构:

{ [
  { 'a': 10, 'b': 20 },
  { 'a': 20, 'b': 22 },
  { 'a': 11, 'b': 24 }
] }
Run Code Online (Sandbox Code Playgroud)

我想将其转换为 Excel,其中每条记录都成为 excel 中的一行,并将所选参数作为列标题。

Lan*_*rts 5

您可以使用vba-json 在 VBA 中执行此操作。这是我复制的一些代码的示例:

Sub TestJsonDecode() 'This works, uses vba-json library 
    Dim lib As New JSONLib 'Instantiate JSON class object 
    Dim jsonParsedObj As Object 'Not needed 

    jsonString = "{'key1':'val1','key2':'val2'}" 
    Set jsonParsedObj = lib.parse(CStr(jsonString)) 

    For Each keyName In jsonParsedObj.keys 
        MsgBox "Keyname=" & keyName & "//Value=" & jsonParsedObj(keyName) 
    Next 

    Set jsonParsedObj = Nothing 
    Set lib = Nothing 
End Sub 

Sub TestJsonEncode() 'This works, uses vba-json library 
    Dim lib As New JSONLib 'Instantiate JSON class object 
    Set arr = CreateObject("Scripting.Dictionary") 

    arr("key1") = "val1" 
    arr("key2") = "val2" 

    MsgBox lib.toString(arr) 
End Sub 
Run Code Online (Sandbox Code Playgroud)


小智 1

以下是一些具有 json excel 转换功能的 excel 下载示例。您可以直接从 Excel 中完成此操作。

(页面不再可用:)http://ramblings.mcpher.com/Home/excelquirks/json

您可以使用 Wayback Machine 上存档的最新版本: https://web.archive.org/web/20200217050634/http ://ramblings.mcpher.com/Home/excelquirks/json