Excel Automation
ワークブックの作成、データの書き込み、セルの書式設定、行のアップサート、ワークシートの管理など、スプレッドシート操作を自動化します。Microsoft Excel(OneDrive)と Google Sheets に対応しています。
ツールキットドキュメント: composio.dev/toolkits/excel
セットアップ
このスキルを使用するには、https://rube.app/mcp に接続された Rube MCP サーバー が必要です。
ツールを実行する前に、excel(および必要に応じて googlesheets)ツールキットのアクティブな接続が存在することを確認してください。アクティブな接続がない場合は、RUBE_MANAGE_CONNECTIONS 経由で接続を開始してください。
コアワークフロー
1. 新しい Excel ワークブックを作成する
EXCEL_CREATE_WORKBOOK を使用して、新しい .xlsx ファイルを生成し、OneDrive にアップロードします。
ツール: EXCEL_CREATE_WORKBOOK
手順:
- ワークシート名とデータを指定して
EXCEL_CREATE_WORKBOOKを呼び出す - ツールが
.xlsxファイルを作成し、OneDrive にアップロードする - 返されたファイルパス/URL を以降の操作で使用する
2. スプレッドシートにデータを書き込む
GOOGLESHEETS_BATCH_UPDATE を使用して、特定の範囲に値を書き込むか、行を追加します。
ツール: GOOGLESHEETS_BATCH_UPDATE
主要パラメータ:
spreadsheet_id(必須) -- URL 内のスプレッドシート ID(44文字の英数字文字列)sheet_name(必須) -- タブ名(例:"Sheet1"、"営業データ")values(必須) -- セル値の2次元配列(例:[["名前","金額"],["山田太郎",100]])first_cell_location-- A1 記法での開始セル(例:"A1"、"D3")。省略すると行が追加されますvalueInputOption--"USER_ENTERED"(デフォルト、数式を解析)または"RAW"(そのまま保存)
例:
ツール: GOOGLESHEETS_BATCH_UPDATE
引数:
spreadsheet_id: "1BxiMVs0XRA5nFMdKvBdBZjgmUUqptlbs74OgvE2upms"
sheet_name: "Sheet1"
values: [["商品","単価","在庫あり"],["ホイール",20.50,true],["ネジ",0.50,true]]
first_cell_location: "A1"
3. キー列による行のアップサート
GOOGLESHEETS_UPSERT_ROWS を使用して、キー列で既存行を照合して更新するか、一致しない場合は新しい行を追加します。CRM 同期、在庫更新、重複排除に最適です。
ツール: GOOGLESHEETS_UPSERT_ROWS
主要パラメータ:
spreadsheetId(必須) -- スプレッドシート IDsheetName(必須) -- タブ名rows(必須) -- データ行の2次元配列(最低1行)。headersを省略した場合、最初の行がヘッダーとして扱われますheaders-- データの列名(例:["メール","電話","ステータス"])keyColumn-- 照合する列ヘッダー(例:"メール"、"SKU"、"リードID")strictMode--true(デフォルト)は列不一致でエラー、falseは警告なく切り詰めます
例:
ツール: GOOGLESHEETS_UPSERT_ROWS
引数:
spreadsheetId: "1BxiMVs0XRA5nFMdKvBdBZjgmUUqptlbs74OgvE2upms"
sheetName: "連絡先"
keyColumn: "メール"
headers: ["メール","電話","ステータス"]
rows: [["[email protected]","555-0101","アクティブ"],["[email protected]","555-0102","保留中"]]
4. セルの書式設定
GOOGLESHEETS_FORMAT_CELL を使用して、範囲に太字、斜体、フォントサイズ、背景色を適用します。
ツール: GOOGLESHEETS_FORMAT_CELL
主要パラメータ:
spreadsheet_id(必須) -- スプレッドシート IDrange-- A1 記法でのセル範囲(例:"A1:D1"、"B2:B10")。インデックスベースより推奨sheet_name-- ワークシート名(例:"Sheet1")bold--true/falseitalic--true/falsefontSize-- フォントサイズ(ポイント単位、例:12)red,green,blue-- 背景色の成分(0.0~1.0 の浮動小数点スケール。0~255 ではありません)
例(青色背景の太字ヘッダー行):
ツール: GOOGLESHEETS_FORMAT_CELL
引数:
spreadsheet_id: "1BxiMVs0XRA5nFMdKvBdBZjgmUUqptlbs74OgvE2upms"
range: "A1:D1"
sheet_name: "Sheet1"
bold: true
fontSize: 12
red: 0.2
green: 0.4
blue: 0.9
5. 新しいワークシートタブを追加する
GOOGLESHEETS_ADD_SHEET を使用して、既存のスプレッドシート内に新しいタブを作成します。
ツール: GOOGLESHEETS_ADD_SHEET
主要パラメータ:
spreadsheetId(必須) -- スプレッドシート IDtitle-- 新しいタブの名前(例:"Q4レポート")forceUnique--true(デフォルト)の場合、同名が存在すれば自動的に接尾辞を追加します
例:
ツール: GOOGLESHEETS_ADD_SHEET
引数:
spreadsheetId: "1BxiMVs0XRA5nFMdKvBdBZjgmUUqptlbs74OgvE2upms"
title: "Q4レポート"
forceUnique: true
6. データの読み取りと内容の検証
GOOGLESHEETS_BATCH_GET を使用して、指定したセル範囲からデータを取得し、検証や後続処理に利用します。
ツール: GOOGLESHEETS_BATCH_GET
手順:
- スプレッドシート ID と対象範囲を指定して
GOOGLESHEETS_BATCH_GETを呼び出す - ヘッダーとデータの配置を検証する
- 結果を基に後続の書き込みや更新操作を行う
補助ツール:
GOOGLESHEETS_GET_SHEET_NAMES-- スプレッドシート内の全タブ名を一覧表示GOOGLESHEETS_GET_SPREADSHEET_INFO-- メタデータ(シート ID、プロパティ)を取得GOOGLESHEETS_FIND_WORKSHEET_BY_TITLE-- 特定のタブが存在するかを確認
推奨実行計画
- スプレッドシートを作成または特定する --
GOOGLESHEETS_CREATE_GOOGLE_SHEET1を使用するか、既存のspreadsheetIdを再利用 - 出力先タブを確認する --
GOOGLESHEETS_GET_SHEET_NAMESまたはGOOGLESHEETS_FIND_WORKSHEET_BY_TITLEを使用。存在しない場合はGOOGLESHEETS_ADD_SHEETで作成 - 既存のヘッダーを読み取る(オプション) --
GOOGLESHEETS_BATCH_GETを使用して列を揃える - データを書き込むまたはアップサートする --
GOOGLESHEETS_BATCH_UPDATEまたはGOOGLESHEETS_UPSERT_ROWSを使用 - 書式を適用する(オプション) --
GOOGLESHEETS_FORMAT_CELLを使用 - 結果を検証する(オプション) --
GOOGLESHEETS_BATCH_GETを使用 - フォールバック: Google Sheets の作成がブロックされた場合(HTTP 403)は、
EXCEL_CREATE_WORKBOOKを使用してローカルの.xlsxファイルを出力
既知の落とし穴
| 落とし穴 | 詳細 |
|---|---|
| シート作成時の HTTP 403 | GOOGLESHEETS_CREATE_GOOGLE_SHEET1 は、Drive 作成スコープがない場合に失敗します。既存の spreadsheetId を再利用するか、EXCEL_CREATE_WORKBOOK にフォールバックしてください。 |
| セル制限とレート制限 | Google Sheets のセル上限はスプレッドシートあたり約5,000,000セルです。書き込み頻度が高すぎると HTTP 429 が発生します。変更をバッチ化し、大きな書き込みは約500行/呼び出しに分割してください。 |
| 書式範囲のオフバイワンエラー | GOOGLESHEETS_FORMAT_CELL のインデックスモードでは、範囲は0ベース、endIndex は排他的です。背景色には0~1の浮動小数点 RGB を使用し、0~255の整数 RGB は使用しないでください。 |
| シートタイトルの一意性 | API 応答においてシートタイトルは一意とは限りません。数値の sheetId で操作し、書き込み前に解決されたタブを確認することを推奨します。 |
| アップサートペイロードの形状 | GOOGLESHEETS_UPSERT_ROWS にはヘッダーと2次元の行配列が必要です。辞書のリストや空の rows を送信すると検証エラーになります。少なくとも1行のデータ行を確保してください。 |
クイックリファレンス
| ツールスラッグ | 説明 |
|---|---|
EXCEL_CREATE_WORKBOOK | 新しい .xlsx ワークブックを作成し、OneDrive にアップロード |
GOOGLESHEETS_BATCH_UPDATE | 範囲に値を書き込むか、新しい行を追加 |
GOOGLESHEETS_UPSERT_ROWS | キーにより既存行を更新するか、新しい行を追加 |
GOOGLESHEETS_FORMAT_CELL | セル範囲にテキスト/背景の書式設定を適用 |
GOOGLESHEETS_ADD_SHEET | スプレッドシートに新しいワークシートタブを追加 |
GOOGLESHEETS_CREATE_GOOGLE_SHEET1 | Drive に新しい Google スプレッドシートを作成 |
GOOGLESHEETS_GET_SHEET_NAMES | スプレッドシート内の全ワークシート名を一覧表示 |
GOOGLESHEETS_GET_SPREADSHEET_INFO | スプレッドシートのメタデータを取得 |
GOOGLESHEETS_FIND_WORKSHEET_BY_TITLE | ワークシートがタイトルで存在するか確認 |
GOOGLESHEETS_BATCH_GET | 指定したセル範囲からデータを読み取り |
Powered by Composio