🗂️ ExcelとJSONを相互に変換する
ExcelとJSONを、ブラウザの中だけで相互に変換できる無料ツールです。複数のシートがあるExcelも、シート名をキーにした1つのJSONにまとめられます。ファイルは外部に送信されません。
1. ファイルを選択
2. 変換先の形式を選択
アップロードしたすべてのファイルを、選択した1つの形式に変換します。
オフにすると、ファイル先頭の目印を付けません。プログラムで読み込むときは、こちらのほうが扱いやすい場合があります。
処理状況
変換が完了しました 🎉
こんな時に便利です
人が見て編集しやすいExcelの表を、プログラムが読めるJSONに直したい場面があります。手作業で書き写すより、ミスなく取り出せます。
月別や支店別にシートが分かれたExcelを、そのまま1つのJSONにまとめられます。シート名が目印になるので、受け取る側も扱いやすくなります。
APIやプログラムが出力したJSONを、Excelで開いて確認したり、担当者と共有したりしたい場面があります。
使い方
- 変換したいファイルを選んでアップロードします(最大20件まで)
- 変換先の形式を選びます(この画面を開いた時は「JSON」が選ばれています。Excelにしたい時は「Excel」を選びます)
- 「この内容で変換する」を押して処理します
- 完了したら、ファイルをダウンロードします
人が見る形式と、プログラムが読む形式
Excelは、人が見て編集するための形式で、色や列の幅、数式、複数のシートなどを持てます。一方、JSONは、プログラムが読み書きするための形式です。人が整えたデータを機械に渡す場面や、機械が出したデータを人が確かめる場面で、この2つをつなぐ作業がよくあります。
複数のシートがあるExcelをJSONにすると、シート名をキーにして、各シートの内容が1つのJSONにまとまります(例:{"1月":[…],"2月":[…]})。シートが1つだけの場合も、この形は同じです。各シートは、1行目を項目名にした、行ごとのデータの並びになります。
数式は、最後に計算された結果の値になります。日付は、Excelが内部で使っている数字(シリアル値)のまま出力され、たとえば2024年1月5日は45296になります。色や列幅、通貨の表示といった書式は引き継がれません。
注意点・うまくいかない時
- 一度に変換できるのは最大20件、1件あたり20MBまでです。Excelは.xlsxと.xlsに対応しています。
- 複数のシートは、すべてがJSONに入ります。特定のシートだけを選ぶことはできません。空白のセルは空の文字になり、まったく空の行は飛ばされます。
- JSONからExcelへは、[{…},{…}]のような配列の形が必要で、結果は「Sheet1」という1つのシートになります。入れ子の値は空欄になります。
- 「1,234円」のような表示形式は外れて、値の1234だけになります。
- このツールがExcelから作るJSONは、シート名をキーにした形なので、そのままではExcelに戻せません。戻す場合は、1つのシート分の配列だけを取り出してください。
- Excelの日付は、CSVに変換すると見た目どおりの文字(2024/01/05)で出ますが、JSONに変換すると数字(45296)で出ます。これはExcelとJSONの決まりの違いによるものです。日付を文字のまま使いたい場合は、いったんCSVに変換してから、CSVをJSONに変換するとうまくいきます。
- Excelの「50%」のような表示形式の値も、同じように、CSVに変換すると見た目どおり(50%)で出ますが、JSONに変換すると値の0.5で出ます。
よくある質問
Q. 特定のシートだけを、JSONにできますか?
A. いいえ。すべてのシートがまとめて出力されます。必要なシートだけのExcelを先に作ってから、変換してください。
Q. 日付を「2024-01-05」の形で出力できますか?
A. できません。日付は数字で出力されます。文字として入力された日付は、そのまま文字で出力されるので、Excel側で文字に直しておく方法もあります。
Q. 数式は、どのように出力されますか?
A. 計算結果の値が出力されます。保存時に計算結果が入っていない数式は、空の文字になります。
Q. 結合したセルや、図・グラフはどうなりますか?
A. 引き継がれるのは、表の中の値だけです。図やグラフは含まれません。
Q. JSONをExcelに変換すると、シートはいくつできますか?
A. 1つです。「Sheet1」という名前のシートに、配列の内容が入ります。
関連ツール
ファイルはすべてお使いのブラウザ内で処理され、外部のサーバーに送信されることはありません。安心してご利用ください。