Office Scriptsで学ぶJSONデータ読み取り・解析の基本|Excel自動化とオブジェクト操作入門
生徒
「Office ScriptsでJSONデータを読み取ってExcelに表示したいんですが、JSONって何ですか?」
先生
「JSONはデータをわかりやすくまとめた形式です。Office Scriptsでは、そのJSONを読み取ってExcelのセルに書き込むことができます。」
生徒
「プログラミング初心者でもJSONの解析やオブジェクト操作はできますか?」
先生
「順番に学べば大丈夫です。JSONデータの読み取りと解析の基本から一緒に見ていきましょう。」
1. Office Scriptsとは?
Office Scriptsは、Excel Onlineで使える自動化スクリプト機能です。Excelの操作をコードで自動実行できるため、毎日の入力作業や集計作業を効率化できます。使用する言語はTypeScriptで、JavaScriptに近い書き方をします。
たとえば、セルに文字を入力する、表を作る、データを整理するなどの作業を自動で行えます。今回のテーマであるJSONデータの読み取りや解析も、Office Scriptsを使えば簡単に実現できます。
2. JSONとは何か?初心者向けやさしい解説
JSONとは、データを整理して保存するための書き方です。名前と値をセットにしてまとめるのが特徴です。たとえば「名前:山田」「年齢:20」のように、情報をひとまとめにします。
このまとまりをオブジェクトと呼びます。オブジェクトとは、関連する情報をひとつにまとめた箱のようなものです。パソコンがデータを理解しやすい形で整理されているため、WebアプリやExcel自動化でよく使われます。
3. Office ScriptsでJSONデータを作ってみよう
まずは、JSON形式のデータをOffice Scriptsの中で作ってみます。これはサンプルの社員データです。
function main(workbook: ExcelScript.Workbook) {
const data = {
name: "山田",
age: 25,
department: "営業"
};
const sheet = workbook.getActiveWorksheet();
sheet.getRange("A1").setValue(data.name);
sheet.getRange("B1").setValue(data.age);
sheet.getRange("C1").setValue(data.department);
}
このコードでは、JSONオブジェクトの値を取り出してExcelのセルに表示しています。data.nameのように「ドット記法」を使って値を取得します。ドット記法とは、箱の中身を取り出すための書き方です。
4. JSON文字列を解析する方法(JSON.parse)
実際の現場では、JSONは文字列として受け取ることが多いです。その場合はJSON.parseという機能を使って解析します。解析とは、文字のデータをプログラムが使える形に変換することです。
function main(workbook: ExcelScript.Workbook) {
const jsonText = '{"name":"佐藤","age":30}';
const obj = JSON.parse(jsonText);
const sheet = workbook.getActiveWorksheet();
sheet.getRange("A1").setValue(obj.name);
sheet.getRange("B1").setValue(obj.age);
}
JSON.parseを使うことで、文字列だったデータをオブジェクトに変換できます。これがJSONデータ解析の基本です。
5. 配列を含むJSONデータの読み取り
JSONには複数データをまとめる配列もあります。配列とは、データを順番に並べたリストのようなものです。
function main(workbook: ExcelScript.Workbook) {
const jsonText = '{"members":[{"name":"田中"},{"name":"鈴木"}]}';
const obj = JSON.parse(jsonText);
const sheet = workbook.getActiveWorksheet();
sheet.getRange("A1").setValue(obj.members[0].name);
sheet.getRange("A2").setValue(obj.members[1].name);
}
membersは配列なので、角括弧を使って順番を指定します。ゼロから数えるのが特徴です。これが配列の基本ルールです。
6. ループ処理でJSONデータをまとめて表示する
データが多い場合は、ループ処理を使います。ループとは、同じ処理を繰り返す仕組みです。
function main(workbook: ExcelScript.Workbook) {
const jsonText = '{"members":[{"name":"高橋"},{"name":"伊藤"},{"name":"渡辺"}]}';
const obj = JSON.parse(jsonText);
const sheet = workbook.getActiveWorksheet();
for (let i = 0; i < obj.members.length; i++) {
sheet.getRange("A" + (i + 1)).setValue(obj.members[i].name);
}
}
このコードでは、配列の長さだけ繰り返して名前を表示しています。大量データの処理でも対応できます。これがOffice ScriptsでのJSON配列解析の基本パターンです。
7. JSONデータ操作がExcel自動化で役立つ理由
JSONデータ読み取りと解析ができると、外部システムから取得したデータをExcelに自動入力できます。たとえば顧客データ、売上データ、商品情報などを一括で処理できます。
Office ScriptsとJSONを組み合わせることで、Excel自動化、業務効率化、データ管理の精度向上につながります。初心者でも基本を理解すれば十分に扱えます。
まずはJSON.parse、オブジェクト操作、配列処理の三つをしっかり理解することが重要です。ここがJSONデータ解析の土台になります。
まとめ
今回はOffice ScriptsでJSONデータを読み取り、解析し、Excelに自動で書き込む方法について基礎から学びました。Office ScriptsはExcel Onlineで利用できる自動化機能であり、TypeScriptを使ってセル操作やデータ処理を行える強力な仕組みです。その中でもJSONデータの読み取りと解析は、Excel自動化を実現するうえで欠かせない重要な技術です。
まずJSONとは何かを理解しました。JSONは名前と値を組み合わせたデータ構造であり、オブジェクトという箱のような形で情報をまとめます。nameやageのようにキーと値をセットにすることで、データを整理しやすくなります。この構造を理解することが、Office ScriptsでのJSONデータ操作の第一歩です。
次に、Office Scripts内でJSONオブジェクトを直接定義し、ドット記法を使って値を取り出す方法を学びました。data.nameのように記述することで、オブジェクトの中身に簡単にアクセスできます。この基本操作は、Excelのセルにデータを書き込む際に何度も使います。
さらに、JSON.parseを使ったJSON文字列の解析方法も学習しました。実際の業務では、APIや外部システムからJSON形式の文字列を受け取る場面が多くあります。その文字列をそのままでは扱えないため、JSON.parseでオブジェクトへ変換します。これがJSONデータ解析の核心部分です。
配列を含むJSONデータの読み取りも重要なポイントでした。membersのような配列データは角括弧で管理され、インデックス番号を使って要素を指定します。ゼロから始まるという配列の基本ルールを理解することで、複数データの処理が可能になります。
そして最後に、ループ処理を活用した大量データの自動表示方法を学びました。for文を使えば、JSON配列の長さに応じて繰り返し処理ができます。これにより、顧客情報一覧や商品リスト、売上データなどを一括でExcelへ展開できます。Office ScriptsとJSON解析を組み合わせることで、Excel自動化の可能性は大きく広がります。
総合サンプルプログラム
ここで、JSON文字列を解析し、配列データをループ処理でExcelへ書き込む総合サンプルを確認しましょう。Office ScriptsによるJSON読み取りと解析の基本がすべて含まれています。
function main(workbook: ExcelScript.Workbook) {
const jsonText = '{"employees":[{"name":"山本","age":28},{"name":"中村","age":35},{"name":"小林","age":22}]}';
const data = JSON.parse(jsonText);
const sheet = workbook.getActiveWorksheet();
sheet.getRange("A1").setValue("名前");
sheet.getRange("B1").setValue("年齢");
for (let i = 0; i < data.employees.length; i++) {
sheet.getRange("A" + (i + 2)).setValue(data.employees[i].name);
sheet.getRange("B" + (i + 2)).setValue(data.employees[i].age);
}
}
このようにJSON.parseで文字列を解析し、配列をループ処理しながらExcelに出力するのが基本パターンです。Office ScriptsでのJSONデータ操作、オブジェクト操作、配列処理の流れをしっかり身につければ、Excel自動化は格段に効率化されます。
生徒
今回学んだ内容で、Office ScriptsとJSONデータ解析の基本がかなり理解できました。JSONは名前と値をまとめたデータ構造で、オブジェクトとして管理されるんですよね。
先生
その通りです。JSONはExcel自動化だけでなく、Webシステムや業務システムでも広く使われています。Office ScriptsでJSONを扱えるようになると、外部データ連携も可能になります。
生徒
JSON.parseを使って文字列をオブジェクトに変換する部分が特に重要だと感じました。解析しないとデータとして扱えないんですね。
先生
その理解はとても大切です。JSON解析ができれば、API連携や自動レポート作成にも応用できます。配列の扱いとループ処理も合わせて覚えておくと良いでしょう。
生徒
配列はゼロから始まることや、lengthを使って繰り返すことも覚えました。これで大量データも処理できますね。
先生
その通りです。Office ScriptsによるJSONデータ読み取り、オブジェクト操作、配列処理、ループ構文は、Excel自動化の基礎スキルです。繰り返し練習して、実務で使える力を身につけていきましょう。
生徒
はい。Office ScriptsでJSONデータを自在に扱えるようになって、Excel業務を効率化できるように頑張ります。