Excel Automation by composiohq/awesome-claude-skills
npx skills add https://github.com/composiohq/awesome-claude-skills --skill 'Excel Automation'自动化电子表格操作,包括创建工作簿、写入数据、格式化单元格、更新/插入行以及管理工作表。支持 Microsoft Excel (OneDrive) 和 Google Sheets。
工具包文档: composio.dev/toolkits/excel
此技能需要连接到 https://rube.app/mcp 的 Rube MCP 服务器。
在执行任何工具之前,请确保 excel(以及可选的 googlesheets)工具包存在活动连接。如果没有活动连接,请通过 RUBE_MANAGE_CONNECTIONS 启动一个。
使用 EXCEL_CREATE_WORKBOOK 生成新的 .xlsx 文件并上传到 OneDrive。
工具:
广告位招租
在这里展示您的产品或服务
触达数万 AI 开发者,精准高效
EXCEL_CREATE_WORKBOOK步骤:
EXCEL_CREATE_WORKBOOK.xlsx 文件并上传到 OneDrive使用 GOOGLESHEETS_BATCH_UPDATE 将值写入特定范围或追加行。
工具: GOOGLESHEETS_BATCH_UPDATE
关键参数:
spreadsheet_id (必需) -- 来自 URL 的电子表格 ID(44 位字母数字字符串)sheet_name (必需) -- 标签页名称,例如 "Sheet1"、"Sales Data"values (必需) -- 单元格值的二维数组,例如 [["Name","Amount"],["Alice",100]]first_cell_location -- 以 A1 表示法表示的起始单元格(例如 "A1"、"D3")。省略则以追加行方式写入valueInputOption -- "USER_ENTERED"(默认,解析公式)或 "RAW"(按原样存储)示例:
Tool: GOOGLESHEETS_BATCH_UPDATE
Arguments:
spreadsheet_id: "1BxiMVs0XRA5nFMdKvBdBZjgmUUqptlbs74OgvE2upms"
sheet_name: "Sheet1"
values: [["Item","Cost","Stocked"],["Wheel",20.50,true],["Screw",0.50,true]]
first_cell_location: "A1"
使用 GOOGLESHEETS_UPSERT_ROWS 通过匹配关键列来更新现有行,如果未找到匹配项则追加新行。适用于 CRM 同步、库存更新和去重。
工具: GOOGLESHEETS_UPSERT_ROWS
关键参数:
spreadsheetId (必需) -- 电子表格 IDsheetName (必需) -- 标签页名称rows (必需) -- 数据行的二维数组(至少 1 行)。如果省略 headers,则第一行将被视为标题行headers -- 数据的列名,例如 ["Email","Phone","Status"]keyColumn -- 用于匹配的列标题,例如 "Email"、"SKU"、"Lead ID"strictMode -- true(默认)在列不匹配时报错;false 则静默截断示例:
Tool: GOOGLESHEETS_UPSERT_ROWS
Arguments:
spreadsheetId: "1BxiMVs0XRA5nFMdKvBdBZjgmUUqptlbs74OgvE2upms"
sheetName: "Contacts"
keyColumn: "Email"
headers: ["Email","Phone","Status"]
rows: [["john@example.com","555-0101","Active"],["jane@example.com","555-0102","Pending"]]
使用 GOOGLESHEETS_FORMAT_CELL 对范围应用粗体、斜体、字体大小和背景颜色。
工具: GOOGLESHEETS_FORMAT_CELL
关键参数:
spreadsheet_id (必需) -- 电子表格 IDrange -- 以 A1 表示法表示的单元格范围,例如 "A1:D1"、"B2:B10"(建议使用此方式而非基于索引的方式)sheet_name -- 工作表名称,例如 "Sheet1"bold -- true/falseitalic -- true/falsefontSize -- 字体大小(磅值),例如 12red、green、blue -- 背景颜色分量(0.0--1.0 浮点比例,不是 0--255)示例(带蓝色背景的粗体标题行):
Tool: GOOGLESHEETS_FORMAT_CELL
Arguments:
spreadsheet_id: "1BxiMVs0XRA5nFMdKvBdBZjgmUUqptlbs74OgvE2upms"
range: "A1:D1"
sheet_name: "Sheet1"
bold: true
fontSize: 12
red: 0.2
green: 0.4
blue: 0.9
使用 GOOGLESHEETS_ADD_SHEET 在现有电子表格中创建新的标签页。
工具: GOOGLESHEETS_ADD_SHEET
关键参数:
spreadsheetId (必需) -- 电子表格 IDtitle -- 新标签页的名称,例如 "Q4 Report"forceUnique -- true(默认)如果名称已存在则自动附加后缀示例:
Tool: GOOGLESHEETS_ADD_SHEET
Arguments:
spreadsheetId: "1BxiMVs0XRA5nFMdKvBdBZjgmUUqptlbs74OgvE2upms"
title: "Q4 Report"
forceUnique: true
使用 GOOGLESHEETS_BATCH_GET 从指定的单元格范围检索数据,以进行验证或进一步处理。
工具: GOOGLESHEETS_BATCH_GET
步骤:
GOOGLESHEETS_BATCH_GET支持工具:
GOOGLESHEETS_GET_SHEET_NAMES -- 列出电子表格中的所有标签页名称GOOGLESHEETS_GET_SPREADSHEET_INFO -- 获取元数据(工作表 ID、属性)GOOGLESHEETS_FIND_WORKSHEET_BY_TITLE -- 检查特定标签页是否存在GOOGLESHEETS_CREATE_GOOGLE_SHEET1 或重用现有的 spreadsheetIdGOOGLESHEETS_GET_SHEET_NAMES 或 GOOGLESHEETS_FIND_WORKSHEET_BY_TITLE;如果缺失,则使用 GOOGLESHEETS_ADD_SHEET 创建GOOGLESHEETS_BATCH_GET 对齐列GOOGLESHEETS_BATCH_UPDATE 或 GOOGLESHEETS_UPSERT_ROWSGOOGLESHEETS_FORMAT_CELLGOOGLESHEETS_BATCH_GETEXCEL_CREATE_WORKBOOK 进行本地 .xlsx 输出| 问题 | 详情 |
|---|---|
| 创建表格时出现 HTTP 403 | 当缺少 Drive 创建范围时,GOOGLESHEETS_CREATE_GOOGLE_SHEET1 会失败。重用现有的 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 需要标题 + 二维行数组。发送字典列表或空的 rows 会导致验证错误。确保至少有一行数据。 |
| 工具标识 | 描述 |
|---|---|
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 | 从指定的单元格范围读取数据 |
由 Composio 提供支持
每周安装量
0
代码仓库
GitHub 星标数
42.3K
首次出现时间
1970年1月1日
安全审计
Automate spreadsheet operations including creating workbooks, writing data, formatting cells, upserting rows, and managing worksheets. Works with Microsoft Excel (OneDrive) and Google Sheets.
Toolkit docs: composio.dev/toolkits/excel
This skill requires the Rube MCP server connected at https://rube.app/mcp.
Before executing any tools, ensure an active connection exists for the excel (and optionally googlesheets) toolkit. If no connection is active, initiate one via RUBE_MANAGE_CONNECTIONS.
Use EXCEL_CREATE_WORKBOOK to generate a new .xlsx file and upload it to OneDrive.
Tool: EXCEL_CREATE_WORKBOOK
Steps:
EXCEL_CREATE_WORKBOOK with worksheet names and data.xlsx file and uploads it to OneDriveUse GOOGLESHEETS_BATCH_UPDATE to write values to a specific range or append rows.
Tool: GOOGLESHEETS_BATCH_UPDATE
Key Parameters:
spreadsheet_id (required) -- The spreadsheet ID from the URL (44-char alphanumeric string)sheet_name (required) -- Tab name, e.g., "Sheet1", "Sales Data"values (required) -- 2D array of cell values, e.g., [["Name","Amount"],["Alice",100]]first_cell_location -- Starting cell in A1 notation (e.g., "A1", "D3"). Omit to append rowsvalueInputOption -- (default, parses formulas) or (stores as-is)Example:
Tool: GOOGLESHEETS_BATCH_UPDATE
Arguments:
spreadsheet_id: "1BxiMVs0XRA5nFMdKvBdBZjgmUUqptlbs74OgvE2upms"
sheet_name: "Sheet1"
values: [["Item","Cost","Stocked"],["Wheel",20.50,true],["Screw",0.50,true]]
first_cell_location: "A1"
Use GOOGLESHEETS_UPSERT_ROWS to update existing rows by matching a key column, or append new rows if no match is found. Ideal for CRM syncs, inventory updates, and deduplication.
Tool: GOOGLESHEETS_UPSERT_ROWS
Key Parameters:
spreadsheetId (required) -- The spreadsheet IDsheetName (required) -- Tab namerows (required) -- 2D array of data rows (min 1 row). If headers is omitted, the first row is treated as headersheaders -- Column names for the data, e.g., ["Email","Phone","Status"]keyColumn -- Column header to match on, e.g., "Email", "SKU", "Lead ID"Example:
Tool: GOOGLESHEETS_UPSERT_ROWS
Arguments:
spreadsheetId: "1BxiMVs0XRA5nFMdKvBdBZjgmUUqptlbs74OgvE2upms"
sheetName: "Contacts"
keyColumn: "Email"
headers: ["Email","Phone","Status"]
rows: [["john@example.com","555-0101","Active"],["jane@example.com","555-0102","Pending"]]
Use GOOGLESHEETS_FORMAT_CELL to apply bold, italic, font size, and background colors to ranges.
Tool: GOOGLESHEETS_FORMAT_CELL
Key Parameters:
spreadsheet_id (required) -- The spreadsheet IDrange -- Cell range in A1 notation, e.g., "A1:D1", "B2:B10" (recommended over index-based)sheet_name -- Worksheet name, e.g., "Sheet1"bold -- true/falseitalic -- true/Example (bold header row with blue background):
Tool: GOOGLESHEETS_FORMAT_CELL
Arguments:
spreadsheet_id: "1BxiMVs0XRA5nFMdKvBdBZjgmUUqptlbs74OgvE2upms"
range: "A1:D1"
sheet_name: "Sheet1"
bold: true
fontSize: 12
red: 0.2
green: 0.4
blue: 0.9
Use GOOGLESHEETS_ADD_SHEET to create new tabs within an existing spreadsheet.
Tool: GOOGLESHEETS_ADD_SHEET
Key Parameters:
spreadsheetId (required) -- The spreadsheet IDtitle -- Name for the new tab, e.g., "Q4 Report"forceUnique -- true (default) auto-appends suffix if name existsExample:
Tool: GOOGLESHEETS_ADD_SHEET
Arguments:
spreadsheetId: "1BxiMVs0XRA5nFMdKvBdBZjgmUUqptlbs74OgvE2upms"
title: "Q4 Report"
forceUnique: true
Use GOOGLESHEETS_BATCH_GET to retrieve data from specified cell ranges for validation or further processing.
Tool: GOOGLESHEETS_BATCH_GET
Steps:
GOOGLESHEETS_BATCH_GET with the spreadsheet ID and target rangesSupporting Tools:
GOOGLESHEETS_GET_SHEET_NAMES -- List all tab names in a spreadsheetGOOGLESHEETS_GET_SPREADSHEET_INFO -- Get metadata (sheet IDs, properties)GOOGLESHEETS_FIND_WORKSHEET_BY_TITLE -- Check if a specific tab existsGOOGLESHEETS_CREATE_GOOGLE_SHEET1 or reuse an existing spreadsheetIdGOOGLESHEETS_GET_SHEET_NAMES or GOOGLESHEETS_FIND_WORKSHEET_BY_TITLE; create it with GOOGLESHEETS_ADD_SHEET if missingGOOGLESHEETS_BATCH_GET to align columnsGOOGLESHEETS_BATCH_UPDATE or GOOGLESHEETS_UPSERT_ROWS| Pitfall | Detail |
|---|---|
| HTTP 403 on sheet creation | GOOGLESHEETS_CREATE_GOOGLE_SHEET1 fails when Drive create scope is missing. Reuse an existing spreadsheetId or fall back to EXCEL_CREATE_WORKBOOK. |
| Cell limit and rate throttling | Google Sheets has a ~5,000,000 cell limit per spreadsheet. Excessive write frequency triggers HTTP 429. Batch changes and chunk large writes (~500 rows/call). |
| Format range off-by-one | GOOGLESHEETS_FORMAT_CELL uses 0-based, endIndex-exclusive ranges when using index mode. Background color uses 0--1 float RGB, NOT 0--255 integer RGB. |
| Sheet title uniqueness | Sheet titles are not guaranteed unique across API responses. Prefer operating by numeric sheetId and verify the resolved tab before writing. |
| Tool Slug | Description |
|---|---|
EXCEL_CREATE_WORKBOOK | Create a new .xlsx workbook and upload to OneDrive |
GOOGLESHEETS_BATCH_UPDATE | Write values to a range or append new rows |
GOOGLESHEETS_UPSERT_ROWS | Update existing rows by key or append new ones |
GOOGLESHEETS_FORMAT_CELL | Apply text/background formatting to cell ranges |
GOOGLESHEETS_ADD_SHEET | Add a new worksheet tab to a spreadsheet |
Powered byComposio
Weekly Installs
0
Repository
GitHub Stars
42.3K
First Seen
Jan 1, 1970
Security Audits
头脑风暴技能:AI协作设计流程,将创意转化为完整规范与实施计划
77,000 周安装
"USER_ENTERED""RAW"strictMode -- true (default) errors on mismatched columns; false truncates silentlyfalsefontSize -- Font size in points, e.g., 12red, green, blue -- Background color components (0.0--1.0 float scale, NOT 0--255)GOOGLESHEETS_FORMAT_CELLGOOGLESHEETS_BATCH_GETEXCEL_CREATE_WORKBOOK for local .xlsx output| Upsert payload shape | GOOGLESHEETS_UPSERT_ROWS requires headers + 2D rows array. Sending list-of-dicts or empty rows causes validation errors. Ensure at least 1 data row. |
GOOGLESHEETS_CREATE_GOOGLE_SHEET1 | Create a new Google Spreadsheet in Drive |
GOOGLESHEETS_GET_SHEET_NAMES | List all worksheet names in a spreadsheet |
GOOGLESHEETS_GET_SPREADSHEET_INFO | Retrieve spreadsheet metadata |
GOOGLESHEETS_FIND_WORKSHEET_BY_TITLE | Check if a worksheet exists by title |
GOOGLESHEETS_BATCH_GET | Read data from specified cell ranges |