Excel 是一款常用的電子表格軟件,而 JSON 是一種輕量級的數據交換格式。當我們需要將 Excel 數據轉換為 JSON 格式時,可以使用 VBA 在 Excel 中進行操作。
首先需要在 Excel 中打開 Visual Basic 編輯器。在左側的“項目-添加引用”中,找到“Microsoft Scripting Runtime”,并勾選之后確認。
Private Function ConvertToJson() As String
Dim json As New Dictionary
Dim row As Integer
Dim col As Integer
row = 2
While Not IsEmpty(Sheets("Sheet1").Cells(row, 1))
Dim item As New Dictionary
col = 1
While Not IsEmpty(Sheets("Sheet1").Cells(1, col))
Dim key As String
Dim value As String
key = Sheets("Sheet1").Cells(1, col).Value
value = Sheets("Sheet1").Cells(row, col).Value
item.Add key, value
col = col + 1
Wend
json.Add row - 1, item
row = row + 1
Wend
Dim jsonConverter As New JsonConverter
ConvertToJson = jsonConverter.ConvertToJson(json, Whitespace:=2)
End Function
代碼中,定義了一個名為 ConvertToJson 的函數,用于將 Sheet1 中的數據轉換為 JSON 格式。使用 While 循環,遍歷了所有不為空的行和列,定義了一個 item 字典用于存儲每行的數據,key 為表頭,value 為當前單元格中的值。再將 item 存入 json 字典中,其中 key 為當前行數減一。
最后定義了一個名為 jsonConverter 的 JsonConverter 對象,使用其 ConvertToJson 方法將 json 轉換為 JSON 格式的字符串,并返回該字符串。
在 Excel 中執行該函數即可將 Sheet1 中的數據轉換為 JSON 格式的字符串。