ExcelからJSON変換

ExcelからJSON変換

ブラウザ上でExcel(XLSX / XLS)やCSVファイルを即座に高精度JSONへ変換。サーバーへのアップロードは一切行わず、フラットなオブジェクト配列、ネストされた階層ツリー、列配列へと安全にパースします。

クイックプリセット
変換パイプライン処理フロー
4.0 KB 入力→502.0 B 出力-88%
1ワークブック読込・解析4.0 KBサーバー送信ゼロ2セル行列マッピング4×7 セル1 シート3データ型変換・補正US 体系ドットパスを階層オブジェクトに展開中4JSONシリアライズ502.0 B3 件
ソースデータ入力ecommerce_catalog.xlsx
選択中のシートInventory (4×7)
アクティブモードarrayOfObjects
データペイロード502.0 B

スプレッドシート入力(XLSX / XLS / CSV / TSV)

ここに XLSX / XLS / CSV ファイルをドロップまたはクリックしてファイルを選択(最大 50MB・複数シート対応)
ワークシート一覧
変換対象スコープ

出力JSON構造

ロケール形式&データサニタイズ設定

US
キー名のケース変換(命名規則)
空白セルの処理方式
総レコード数3
検出フィールド数7
ペイロード容量502.0 B
処理速度< 3 ms
インデント幅
[
  {
    "sku": "004128",
    "product": {
      "title": "Aerodynamic Road Helmet",
      "category": "Cycling"
    },
    "pricing": {
      "retail": 129.99,
      "sale": 99.99
    },
    "inventory": {
      "stock": 42,
      "inStock": true
    }
  },
  {
    "sku": "004129",
    "product": {
      "title": "Carbon Fiber Bottle Cage",
      "category": "Accessories"
    },
    "pricing": {
      "retail": 34.5,
      "sale": 34.5
    },
    "inventory": {
      "stock": 115,
      "inStock": true
    }
  },
  {
    "sku": "007890",
    "product": {
      "title": "Thermal Winter Cycling Gloves",
      "category": "Apparel"
    },
    "pricing": {
      "retail": 49,
      "sale": 39
    },
    "inventory": {
      "stock": false,
      "inStock": false
    }
  }
]
リアルタイム処理速度

ミリ秒単位のゼロ遅延パース

外部送信ゼロ秘匿性

完全クライアントサイド実行

スキーマ適合率

RFC 4180 / ECMA-376 準拠

技術リファレンス・アーキテクチャガイド

Excel to JSON & XLSX Converter ガイド — 技術リファレンス

ブラウザ上でExcelをJSONへ瞬時に高速変換。サーバーへのアップロードなし(完全クライアント完結)で、XLSX、XLS、CSVファイルをクリーンなJSONオブジェクト、階層ツリー、または列指向配列へと安全にパースします。

Excel to JSON & XLSX Converter ガイド — 技術リファレンス — クライアントサイド完全ローカル実行アーキテクチャ図
Excel to JSON & XLSX Converter ガイド — 技術リファレンス — クライアントサイド完全ローカル実行アーキテクチャ図

主要パラメータと設定項目

出力データ構造 (outputStructure)列挙型 ('arrayOfObjects' | 'gridMatrix' | 'keyedByColumn' | 'columnVectors')

RFC 8259に準拠したルートJSON ASTトポロジを定義します。行単位のレコード配列([{col: val}])、2次元マトリックス配列([[val]])、主キーをインデックスとした辞書オブジェクト({[id]: {row}})、または集計・分析クエリに最適化された列指向ベクトルバッファ({col: [vals]})から選択可能です。

初期値: arrayOfObjects
日付処理方式 (dateHandling)列挙型 ('iso8601' | 'unixMs' | 'formattedLocale' | 'rawSerial')

1900年および1904年暦体系に基づくECMA-376日付シリアル値を正規化します。Lotus 1-2-3由来の意図的な閏年バグ(シリアル値60)を補正し、(serial - 25569) * 86400000 でUTCミリ秒を算出して標準ISO 8601 UTC文字列を出力します。

初期値: iso8601
ネスト構造パス展開 (nestedPathMode)真偽値 (boolean)

ドット記法(例: user.profile.name)やブラケットインデックス(例: items[0])を含むヘッダーキーに対して決定論的再帰パストークン化を実行し、プロトタイプ汚染(Prototype Pollution)の脆弱性を排除しながらO(k)のパス深度で階層型オブジェクトツリーを構築します。

初期値: true
数値サニタイズ (numberSanitization)真偽値 (boolean)

各国固有の通貨記号(¥、円、$、€、£など)、桁区切りカンマ、会計表記の括弧を自動除去し、IEEE 754倍精度浮動小数点数をJavaScriptの53ビット安全整数範囲(Number.MAX_SAFE_INTEGER)内で正確にパースします。

初期値: true
先頭ゼロ保護 (leadingZeroShield)真偽値 (boolean)

先頭にゼロを持つ英数字識別子(日本の郵便番号「060-0001」やJAN/EAN/UPCバーコード、マイナンバー・事業者番号、ISO 3166コードなど)が数値へ強制型変換されて欠落するのを防ぎ、純粋な文字列型(string)として保持します。

初期値: true
空セル正規化 (emptyCellMode)列挙型 ('omit' | 'null' | 'emptyString')

OpenXMLの未割り当てセル要素(<c/>)に対するスパースマトリックス正規化の挙動を制御します。未定義キーを省略してJSONペイロードサイズを最小化するか、DBスキーマの整合性を保つため明示的にnullを代入するか、または空文字列を挿入するかを指定します。

初期値: null

現場のベストプラクティス・実践Tips

ドット記法と配列インデックスによる階層型ネストJSONの構造化

Excelのヘッダー行にドット記法(例: user.profile.taxId や lineItems[0].sku)を記述することで、複雑なオブジェクト階層を直接定義できます。ブラウザ側のパーサーが区切り文字の境界でトークンを分割し、O(N * K)の計算量で深層ネストされたJSONツリーを高速構築します。プロトタイプ汚染(Prototype Pollution)を防止するセキュアなプロパティ代入を実行するため、jqや外部ETLツールによる二次変換処理を一切行わずにクリーンな階層データを取得できます。

Excelの1900年・1904年エポックのズレと閏年バグの自動補正

Excelワークブックの日付は、1899年12月30日(Windows版 1900年暦体系)または1904年1月1日(レガシーMac OS 1904年暦体系)からの経過日数(シリアル値)として保持されます。またWindows版Excelには、存在しない1900年2月29日を閏日として計算するLotus 1-2-3由来の後方互換バグ(シリアル値60)が存在します。ISO 8601正規化を有効にすると、1900年暦体系の場合は (serial - 25569) * 86400000、1904年暦体系の場合は (serial - 24107) * 86400000 によりエポックオフセットを自動補正し、マイクロ秒精度の高精度なUTC日付文字列を生成します。

識別コードや郵便番号の先頭ゼロ欠落(桁落ち)防止テクニック

表計算エンジンの自動型推論は、先頭にゼロを含むセル(日本の郵便番号「060-0001」やJAN/EAN-13バーコード、マイナンバー・事業者番号など)を数値型へ強制変換し、上位のゼロを不可逆的に欠落させます。RFC 8259準拠の完全な文字列型としてJSON出力するには、「先頭ゼロ保護」を有効にするか、Excel入力時に先頭へアポストロフィ(')を付与してください。これによりOpenXMLのセル属性が未フォーマット数値(t='n')から文字列(t='s')としてマークされ、桁落ちを確実に防止できます。

ペイロード最適化:オブジェクト配列と列指向ベクトルJSONの使い分け

オブジェクト配列([{col: val}])はすべてのレコードで行キーが重複するため、20列・8万行のファイルでは非圧縮JSONが40MBを超える重大なデータ肥大化を招きます。列指向ベクトル({col: [val1, val2]})を選択すると、各カラムヘッダーが1度だけシリアライズされるため、JSONペイロードサイズを45%〜70%削減できます。DuckDB-Wasm、Apache Arrow、Chart.jsなどの分析クエリエンジンや可視化ライブラリへのインメモリ取り込み処理速度も劇的に向上します。

よくある落とし穴とトラブルシューティング

⚠️日付が「45231」のような5桁のシリアル値で出力される、またはタイムスタンプにタイムゾーンの時差が発生する

Excel内部のXML(<c v='...'>ノード)では、カレンダー日付がタイムゾーン情報を持たない浮動小数点の日数シリアル値として格納されます。「日付処理方式」を「ISO 8601」に設定することで、25,569日のUnixエポック差分を自動換算し、UTCゼロオフセット(Z)表記(例: 2024-03-15T00:00:00.000Z)へ正規化してクライアント環境のローカル時計ドリフトを解消します。

⚠️通貨記号(¥・$・€)や桁区切りカンマ、括弧付きの負数表記がNaNまたは文字列としてパースされる

財務諸表や会計フォーマットでは、負の値が括弧表記(例: (1,250.00))で記録されたり、通貨記号(¥、円、$、€など)や桁区切りカンマが付与されます。「数値サニタイズ(numberSanitization)」を有効化すると、正規表現パイプラインにより記号を除去し純粋な数値へ復元します。欧州形式(1.250,00)のファイルを取り扱う場合は、小数点の区切り文字を適切に指定することで小数部の切り捨てを防止できます。

⚠️結合セル(セル結合)が含まれる表で、2行目以降のデータがnullになるかキーが欠落する

OpenXML仕様(xl/worksheets/sheet*.xml)では、結合セル範囲(<mergeCell>)の左上座標セルのみに値が格納され、範囲内の後続セルはXMLストリーム上に要素自体が存在しません。「結合セルの前方補完(Forward-Fill)」を有効化すると、結合された親行のカテゴリ値を結合範囲全体の下位行へ伝播・複製した上でJSONレコード化を実行します。

よくある質問 (FAQ)

Excelの日付シリアル値をJSONのISO 8601形式へ変換するにはどうすればよいですか?▼

Excelの日付シリアル値をISO 8601のUTC文字列へ変換するには、1900年暦体系の場合 (serial - 25569) * 86400000 の算式でUTCミリ秒を求めます。この際、実在しない1900年2月29日(シリアル値60)をカウントしてしまうExcelの歴史的バグを考慮して補正を行います。OpenXMLワークブック(ECMA-376)では、セルのスタイル属性(s)が日付パターンを含むnumFmtsインデックスを参照しています。本ツールのブラウザ側パーサーはこれらのスタイルIDを自動検出し、小数の端数を時・分・秒へと精密換算して、RFC 3339 / ISO 8601準拠のタイムスタンプ(例: 2024-03-15T00:00:00.000Z)として直接シリアライズします。

オブジェクト配列(Array of Objects)と列指向JSON(Column-Oriented)の違いは何ですか?▼

オブジェクト配列は表データを1行ごとのレコード [{'id': 1, 'status': 'active'}, {'id': 2, 'status': 'pending'}] として構造化するのに対し、列指向JSONはカラムをキーにして {'id': [1, 2], 'status': ['active', 'pending']} のように値を配列でグループ化します。オブジェクト配列はREST APIのペイロード、MongoDBのBSONドキュメント、ORMの一括インサート(Bulk Insert)に標準的です。一方、列指向ベクトルは数千〜数十万行にわたるキーの反復を排除するため、非圧縮JSONファイルサイズを40%〜65%軽量化し、DuckDBやApache Arrow、フロントエンド可視化ライブラリなどの列指向分析エンジンにおけるメモリ取り込み効率を最大化します。

ブラウザ完結のExcelからJSON変換で処理可能な最大ファイルサイズと行数の上限はどれくらいですか?▼

ブラウザ側のクライアント処理により、最大50MB、約25万〜50万行のXLSXワークブックを1.5〜4秒程度で安全にパースできます。処理上限はブラウザタブのV8ヒープメモリ(通常2GB〜4GB)のみに依存します。ファイルの解凍およびパース処理はゼロコピーのArrayBufferストリーミングとO(N)単一走査アルゴリズムを用い、独立したWeb Worker内で完全にローカル実行されます。ネットワーク経由でデータが外部サーバーへ1バイトも送信されないため、個人情報保護法、GDPR、HIPAA、SOC 2などの厳格なセキュリティ・機密データ処理基準に100%準拠しています。

Excelで16桁のクレジットカード番号や伝票追跡番号が指数表記(1.23E+15)に変換されてしまう理由と回避策は何ですか?▼

Excelは数値をIEEE 754倍精度浮動小数点数として処理するため、有効精度は53ビット(10進数で約15〜17桁、最大 9,007,199,254,740,991)に制限されています。15桁を超える整数を入力すると下位桁が自動的にゼロへ不可逆的に丸められ、指数表記(例: 1.23457E+15)で表示されます。JSONエクスポート時の桁落ちを防ぐには、Excel上で該当列の表示形式をあらかじめ「文字列」に設定するか、本ツールの「先頭ゼロ保護」を有効にしてください。これにより数値計算パイプラインを経由せず、OpenXMLの共有文字列テーブル(xl/sharedStrings.xml)から生の文字列トークンを直接抽出し、完全な桁数を維持します。

Excelの数式セルや計算結果の値はどのように処理されますか?▼

本コンバーターは、JavaScript側で動的に数式を再評価するのではなく、OpenXMLの <v> 値タグにキャッシュされている計算済みの評価結果を直接読み取ります。ワークブックが保存される際、Microsoft Excelは =SUM(A1:A50) や =XLOOKUP(...) などの数式を評価し、数式定義 <f> ノードの直下にある <v> ノードへ計算結果のリテラル値をシリアライズします。この仕組みにより、外部の再計算ライブラリに依存することなく、Excel純正の計算エンジンと100%同一の数値を確実に取得できます。

欧州規格のカンマ区切り小数やセミコロン区切りのExcelファイルをパースするにはどうすればよいですか?▼

欧州の表計算データ(DIN 5008規格など)では、リスト区切りにセミコロン(;)、小数点にカンマ(,)、桁区切りにピリオド(.)を使用します(例: 1.250,75 €)。このような欧州形式のCSVやExcelファイルをパースする場合、小数点の区切り文字を「カンマ (,)」に設定し、「数値サニタイズ」を有効化してください。正規表現による一括変換処理でカンマ基数を標準的なIEEE 754準拠のピリオド小数点へ置換し、桁区切りのピリオドを除去することで、「1.250,75」がNaNになったり「125075」と誤解釈されるのを防ぎます。

関連開発者ツール

全ツール一覧 →
クレジットカード返済計算finance

クレジットカードの完済期日、利息節減額、繰上返済戦略をシミュレーション。固定返済額と目標完済期日の比較、元利均等償還表(返済予定表)の作成に対応。

ツールを開く→
生活防衛資金&財務ランウェイ計算シミュレーターfinance

基礎生活費・変動費・裁量支出の精査、失業や急病等のショックシナリオ、流動性別3層アロケーション(普通預金・金利優遇口座・個人向け国債)から、最適な生活防衛資金と資金持続可能月数を算出。双方向逆算シミュレーションおよび資産配分ビジュアライザー搭載。

ツールを開く→
フリーランス時給・請求可能時間 計算ツールfinance

希望手取り年収、請求外の管理業務時間、個人事業税・青色申告控除、経費から真の適正時給と損益分岐レートを逆算。双方向シミュレーションと動的ウォーターフォール図を搭載。

ツールを開く→
分数計算機 - 四則演算・約分・通分・帯分数の計算過程ステップ表示math

帯分数・仮分数・真分数の加減乗除(足し算・引き算・掛け算・割り算)を通分と約分の全ステップ付きで計算。100%ブラウザ完結の高速数学ツール。

ツールを開く→
圧力換算ツール - PSI・Bar・パスカル(Pa/kPa/MPa)・気圧(atm)・Torr・mmHg換算converter

PSI、バール(bar)、パスカル(Pa, kPa, MPa)、標準気圧(atm)、トル(Torr)、水銀柱ミリメートル(mmHg)を相互換算。リアルタイム圧力計ゲージ表示付き。

ツールを開く→
睡眠サイクル計算機 - 90分レム睡眠&最適就寝プランナーhealth

90分の生体内ウルトラディアン睡眠周期(ノンレム・レム)に基づき、朝の睡眠慣性(だるさ)を起こさずに爽快に目覚めるための最適就寝・起床時刻を計算します。完全ブラウザ完結のプライベート健康コックピット。

ツールを開く→