ホーム · 無料ツール · JSON を Excel に変換

JSON をエクセルに変換

API のレスポンスを貼り付けるか .json ファイルを置くと、本物の .xlsx がダウンロードできます。 レスポンスの中のレコード配列を探し、入れ子の項目はそれぞれの列にし、項目の違うレコードもずれずに並べます。 CSV を経由しないので、日本語が化けず、00123 の先頭のゼロも消えません。Power Query もアドインも不要で、何もアップロードしません。

.json ファイルをドロップしても OK

.json / .ndjson を置くと、下の枠に中身が入ります

JSON ここに貼り付け、または読み込んだ内容を編集

毎月やっていますか? TableDI 2 で一度やってジョブに保存すれば、来月はもう一度実行するだけです。 TableDI 2 を無料でダウンロード

アップロードは行いません。 ファイルはこのタブの JavaScript が読んでいるだけで、あなたのパソコンから出ません —— サーバーは一切見ておらず、タブを閉じればデータは消えます。

JSON を Excel に入れるいつもの方法と、その代償

  • Power Query。 Excel の「データ」→「データの取得」→「ファイルから」→「JSON から」。確実ですが、デスクトップ版 Excel が必要で、 入れ子のレコードを 1 つずつ「展開」していく操作が要ります。一度きりの変換には手間のほうが大きくなります。
  • CSV に変換してから開く。 問題が先送りになるだけです。日本語版 Excel は BOM の無い UTF-8 の CSV を化けて開くことがあり、 開くときに 00123 は 123 に、長い番号は 1.23457E+17 に、2026-09-15 のような文字列は日付に読み替えられます。
  • シートに貼り付ける。 JSON が最初から平らなときだけ使えますが、実際のレスポンスは平らではありません。

このページは .xlsx を直接書き出すので、文字コードの読み違いが入り込む段階がそもそもありません。

先頭のゼロと長い番号は、文字のままセルに入ります

社員番号の "00123"、郵便番号の "0600001"、16 桁以上の注文番号は、文字列のセルとして書き込みます。 Excel で開いても 123 や指数表記にはなりません。 15 桁以下で先頭がゼロでない数字だけが数値のセルになるので、金額や数量はそのまま計算に使えます。

ひとつ例外があります。JSON の中で引用符なしの数値として書かれた 16 桁以上の番号は、ブラウザが JSON を読んだ時点で末尾が丸められます。 元の JSON を出しているシステムを直せるなら、番号は文字列で出すのが安全です。

入れ子と、日本語のキー名

{"部署": {"名称": "経理部", "コード": "K01"}} は 部署.名称 と 部署.コード の 2 列になります。 キー名は日本語のまま見出しになります。タグのような文字列の配列は 1 セルにまとめ、オブジェクトの配列は 明細.0.品番・明細.1.品番 と番号付きの列に分けます。 項目が欠けているレコードは、その列が空のセルになるだけで、行が詰まることはありません。

出来上がるシート

シートは 1 枚。見出し行は全レコードの項目の和集合を最初に出てきた順に並べ、その下に 1 レコード 1 行が続きます。 画面のプレビューは先頭 200 行までで、ダウンロードには全行が入ります。セルの書式や列幅は付けません。

毎週同じレスポンスを同じシートに入れるなら

それはもう変換ではなく作業の仕組みで、大事なのはエンドポイントが項目名を変えたり空を返したりした週に何が起きるかです。 TableDI 2 は、毎期やり直すファイル作業のためのデスクトップアプリです。ソース・ルール・納品のしかたをジョブとして保存するので、来月は新しいファイルを入れてもう一度実行するだけ。すべてあなた自身のパソコンの中で動きます。

よくある質問

Power Query やアドインは必要ですか

要りません。変換はこのページの中で行い、.xlsx はブラウザが書き出します。.xlsx を開ける Excel なら、Mac 版でも Web 版でも開けます。LibreOffice や Numbers でも開けます。

CSV ではなく .xlsx にする理由は何ですか

CSV は開くときに Excel が解釈し直すからです。日本語版 Excel では BOM の無い UTF-8 が化けることがあり、先頭のゼロや長い番号、日付らしい文字列も読み替えられます。 .xlsx なら値は値としてファイルに入ります。スクリプトに渡すための CSV ダウンロードも用意しています。

JSON が配列ではなくオブジェクトです

問題ありません。{"data": [ … ]} のような包みの中から、オブジェクトが入った最初の配列を探して使い、どのキーを読んだかを表の上に表示します。

何行まで変換できますか

決まった上限はなく、ブラウザのタブのメモリーが上限です。ただし Excel の 1 シートは 1,048,576 行までなので、それを超える分は Excel 側で入りません。

データはアップロードされますか

されません。JSON の解析も .xlsx の書き出しも、このタブの JavaScript が行います。

毎月やっていますか?

TableDI 2 で一度やってから、ジョブとして保存します。来月は新しいファイルを入れて、もう一度実行するだけです。

macOS(Apple シリコンと Intel)。Windows 版は開発中です(それまでの使い方)。無料版は試用版ではありません —— アカウントもカードも不要です。

最終確認 2026-09-11、TableDI チーム。このページに間違いがありますか? お知らせください —— 受信箱はひとつで、TableDI を作っている人間が読んでいます。