はじめに
こんにちは、エムザス ITサービス部です。
kintoneを業務で使っていると、「スプレッドシートでデータを扱いたい」というシーンがしばしばあるのではないでしょうか?
- グラフ化して社内共有したい
- スプレッドシートの関数と組み合わせたい
- 表形式で編集・一括処理したい
この記事では、Google Apps Script(GAS)を使って、kintoneのレコードをスプレッドシートに出力する方法と、プラグインを利用してkintone内でExcelライクに操作する方法を紹介します。
前提条件
- kintone環境があること(アプリIDとAPIトークンを取得済み)
- Googleスプレッドシートを用意していること
- GASの基本的な操作が分かること
kintone APIの準備
- kintoneで対象アプリを開く
- 「アプリの設定」→「APIトークン」から新規発行
- 権限は「レコード閲覧」(必要に応じて追加)
- 発行したAPIトークンを控えておく
GASコード例
function exportKintoneToSheet() {
const SUBDOMAIN = 'your-subdomain'; // 例: sample.cybozu.com → "sample"
const APP_ID = '123'; // kintoneアプリのID
const API_TOKEN = 'xxxxxxxxxxxxxxxx'; // 発行したAPIトークン
const SHEET_NAME = 'kintone-data'; // 出力先シート名
const url = `https://${SUBDOMAIN}.cybozu.com/k/v1/records.json?app${APP_ID}`;
const headers = {
'X-Cybozu-API-Token': API_TOKEN
};
const options = {
method: 'get',
headers: headers
};
const response = UrlFetchApp.fetch(url, options);
const records = JSON.parse(response.getContentText()).records;
const sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName(SHEET_NAME);
sheet.clearContents();
// ヘッダー行作成
const keys = Object.keys(records[0]);
sheet.appendRow(keys);
// データ行出力
records.forEach(record => {
const row = keys.map(key => record[key].value);
sheet.appendRow(row);
});
}
プラグインでより手軽に
「もっと手軽に、コード不要でExcelライクに操作したい」という場合は、プラグインの利用が便利です。
EMSheet(エムシート) を使えば、kintoneのレコードをそのまま表計算ソフトのように扱うことができます。
EMSheetの主な機能
- Excelライクな操作性
kintoneのデータを、セル編集やコピー&ペーストなど表計算ソフトと同じ感覚で扱えます。 - フィルタ・並び替え機能
kintone標準UIではやや不便なデータ操作も、スプレッドシート感覚で直感的に可能。 - 一括更新・保存
複数のレコードをまとめて編集・保存できるため、入力作業を大幅に効率化。 - 権限管理と安全性
kintoneの権限設定を活かしたまま利用でき、安心して業務に導入可能。
GASで自作するのも学びになりますが、運用をスムーズにしたいならプラグイン導入が近道です。