mcpField
M
microsoft-excel

microsoft-excel

github.com/acedatacloudドキュメント17177 回インストール今日更新
リポジトリ

microsoft-excel について

microsoft-excelは、OneDriveまたはSharePoint上のライブExcelブックを扱うスキルです。curlとjqでMicrosoft GraphのブックAPIを呼び出し、ワークシートやセル範囲の確認、クラウドブックの編集を行います。

主な機能

  1. 01名前によるクラウドブックの検索
  2. 02ブックのワークシート一覧
  3. 03使用範囲と指定範囲の読み取り
  4. 04範囲への値の書き込み
  5. 05テーブルへの行追加

活用シーン

  1. 01OneDrive上のブックの確認
  2. 02セル範囲の値の更新
  3. 03ブックのテーブルへのレコード追加

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/acedatacloud/skills --skill microsoft-excel

インストール後、Claude Code で/microsoft-excelを入力して読み込まれたか確認します。

詳細

Microsoft Graph ワークブック API を curl + jq で使って、稼働中の Excel ワークブックを操作します。ユーザーの OAuth ベアラートークンは $MICROSOFT_EXCEL_TOKEN に格納されています。すべての呼び出しで Authorization: Bearer $MICROSOFT_EXCEL_TOKEN が必要です。ベース URL: https://graph.microsoft.com/v1.0。ワークブック API はドライブアイテム(OneDrive/SharePoint 上の .xlsx)を対象とするため、ITEM_ID が必要です。

エラーは {"error":{"code","message"}} の形式です。message はそのまま表示してください。401 はトークンの期限切れ(再インストールが必要)です。書き込み時の 403 は、ユーザーが読み取り専用の権限を付与したことを示します。

G="https://graph.microsoft.com/v1.0"; AUTH="Authorization: Bearer $MICROSOFT_EXCEL_TOKEN"
# Find the workbook by name (then take .id as ITEM_ID)
curl -sS -H "$AUTH" "$G/me/drive/root/search(q='budget.xlsx')" \
  | jq '.value[] | {id, name, webUrl}'
# Worksheets in the workbook
curl -sS -H "$AUTH" "$G/me/drive/items/ITEM_ID/workbook/worksheets" \
  | jq '.value[] | {id, name, position}'

範囲の読み取りと書き込み

ITEM="ITEM_ID"; WS="Sheet1"
# Used range (values + formulas + formats)
curl -sS -H "$AUTH" \
  "$G/me/drive/items/$ITEM/workbook/worksheets/$WS/usedRange" \
  | jq '{address, values: .values}'

# Read a specific range
curl -sS -H "$AUTH" \
  "$G/me/drive/items/$ITEM/workbook/worksheets/$WS/range(address='A1:C5')" | jq '.values'

# Update a range (confirm first). values is a 2-D array matching the address shape.
curl -sS -X PATCH -H "$AUTH" -H "Content-Type: application/json" \
  -d '{"values":[["Q3",1200],["Q4",1580]]}' \
  "$G/me/drive/items/$ITEM/workbook/worksheets/$WS/range(address='A2:B3')" | jq '.address'

テーブルへの行の追加

curl -sS -X POST -H "$AUTH" -H "Content-Type: application/json" \
  -d '{"values":[["2026-06-21","Acme",4200]]}' \
  "$G/me/drive/items/$ITEM/workbook/tables/Table1/rows/add" | jq '.index'

注意事項

  • これはクラウド上のワークブック(OneDrive/SharePoint)用です。ユーザーがチャットにアップロードしたローカルの .xlsx は別の作業であり(ファイルを直接解析します)、このスキルの対象ではありません。
  • 範囲の address は Sheet1!A1:C5 のような文字列です。ワークシートを指定した場合は A1:C5 のみでも指定できます。values は、範囲のサイズに合った 2 次元配列である必要があります。
  • Graph は長時間の編集にワークブックセッションヘッダー(workbook-session-id)をサポートしています。少数のセルを編集する場合は、既定のセッションなしモードで問題ありません。

コメント