【VB.NET】Jsonデータを変換しエクセルに出力する

前記事でツール開発をした際
Jsonデータをエクセルに変換する必要がありました。

【実績】Backlogの情報をAPIで取得しExcelに出力

WebAPIのデータはたいていJson形式だそうで。
HTTP通信で取得したはいいものの
これをExcel出力するには…?

備忘録代わりに残しておこうと思います!

JsonをTableに変換

Jsonのサンプルデータ

ちょっと階層深めのJsonデータです。

これが1件のデータとします。

1件当たり、抽出したいデータは
「担当者」は? → 山田
「対応曜日」は? → 月曜

という事にします。

テーブルを作成

Jsonデータの
「担当者」・「対応曜日」を格納する
テーブルを作成する。

Jsonデータから必要なデータ抽出

上記で作成したカラムにデータを入れていきます。

その前にJsonデータを扱うために
便利なライブラリ「Json.net」を追加します!

下記を参考にしましたので手順はコチラから!
VB.NETでJson形式のデータの取り扱い~Json.NETを使ってみる

HTTPレスポンスから
Jsonデータを取得する場合
デシリアライズしてサンプルデータの様な形になります。

ChildrenとSelectTokenを使って
「山田」、「月曜」を抽出しました。

Xpathみたいな特定の仕方なのかな。
並びが変動的な場合の対策や
値が無い場合はDB.Nullを返すなど
それぞれで調整は必要になると思います!

テーブル変換したJsonをエクセル出力

サンプルデータは1件でしたが
数十件データがあった場合
テーブルには数十行データが作成されます。
また2つ以上列が必要なことが多いと思います!

複数の列と数十行データが入ったテーブルを
エクセル出力するコードは
簡単にこんな感じかなと思います!

まあこんな事もできるんだな~
と思いました!