YamlBox

データコンバーター · 6 分で読みました

Excel を JSON に: ワークブックを構造化データに変換する

Excel から JSON への変換は、通常、スプレッドシート データをアプリケーション、テスト フィクスチャ、またはスプレッドシート駆動の Web サイトに取り込む最初のステップです。厄介な点は、ワークブックは数式、書式、複数のシート、数値として保存された日付などの豊富なドキュメントであるのに対し、「1」はプレーン データであることです。それらの間の 4 つの区切りを理解すると、混乱したデバッグを大幅に回避できます。

更新されました

XLSX ファイルとは実際には何ですか

`.xlsx` ファイルは、シート、共有文字列、スタイル、リレーションシップの 3 つの部分からなる ZIP アーカイブです。このため、コンバータはソフトウェアをインストールしなくても、ブラウザでシートを直接読み取ることができます。シート XML を解凍して解析し、行をオブジェクトとして再構築します。また、`.xls` (古いバイナリ形式) に別のコード パスが必要な理由と、`.csv` エクスポートで値以外のすべてが失われる理由についても説明します。

ヘッダーがキーになり、数式が値になります

CSV と同様に、最初の空でない行にはプロパティ名が指定されます。数式は興味深いケースです。`=B2*C2` を含むセルには数式とキャッシュされた結果の両方があり、コンバーターはキャッシュされた値を読み取ります。これは、ブックに表示される値であるためです。数式が別の場所で計算されている場合は、最初に Excel でファイルを開きます。数式を計算したことのないツールで保存されたワークブックには、古いキャッシュや欠落したキャッシュが残っている可能性があります。

デートの罠

Excel は日付をシリアル番号 (1899-12-30 からの日数) として保存します。表示される値は、別の XML 部分に存在するセルの数値形式によって異なります。フォーマットを無視するコンバーターがあなたに提供します`45231`形式を信頼する人は、単純な数字の台帳を日付として誤って読み取る可能性があります。これは Excel から JSON への最も一般的な問題であるため、何かを移植する前に、出力内の 1 つの既知の日付をシートと照合してください。

マルチシートワークブック: 最初のシートのみが必要か、それともシート名でキー設定された JSON オブジェクトが必要かを事前に決定します。財務モデルでは、多くの場合、参照データが 2 番目のシートに保持され、アクティブなデータのみを変換すると、そのデータが自動的に削除されます。

変換する前にグリッドをクリーンアップする

  • 結合されたセルを削除します。セルは 1 つの値と空白の連続にマップされますが、これは消費者が期待するものではありません。
  • タイトル行と合計行を削除して、テーブルがヘッダーから始まり最後のデータ行で終わるようにします。
  • ヘッダーをユニークにし、句読点をなくします。それらはプロパティ名になります。
  • 空のセルは意図的に正規化します。空のセルは、存在しない、不明、またはゼロを意味し、JSON は 3 つすべてを区別します。

ローカルで実行する場合のプライバシーの議論

スプレッドシートは、組織が給与計算、価格設定、顧客リスト、予測を保管する場所です。ワークブックを変換 Web サイトにアップロードして JSON を取得することは、誰も行う必要のないデータ処理の決定です。YamlBox Excel から JSON へのコンバータは、ブラウザ内で XLSX を解析するため、ファイルはマシンから離れることはなく、ネットワークが切断されていても動作します。

Excel から JSON — よくある質問

Excel の日付が 45231 のような数字で表示されるのはなぜですか?

Excel では、日付を 1900 エポックからの日数として保存し、表示形式を個別に保持します。コンバーターがセルの形式を認識できない場合は、生のシリアルを返します。シート内の列を ISO 日付として書式設定するか、数値を 1899-12-30 エポックに自分で変換します。

複数のシートを含むワークブックを変換できますか?

はい。 1 つのシートが必要か、すべてのシートが必要かを決定します。複数シートの出力は通常、シート名でキー設定された JSON オブジェクトですが、単一シートの出力は行オブジェクトの配列です。参照シートは、最初のシートだけを変換してしまうとよくある事故です。

XLSX を JSON に変換すると、スプレッドシートがどこかにアップロードされますか?

ブラウザベースのツールではできません。ワークブックはページ内で解凍されて解析されるため、機密数値がデバイスから流出することはありません。また、変換はオフラインでも機能します。これがその主張の証拠です。

この投稿で言及されているツール

19 ツールの完全なリストを参照する

さらに読む記事

すべての 19 投稿 →