Skill to manage and update google sheet技能使用说明
2026-03-29
新闻来源:网淘吧
围观:14
电脑广告
手机广告
Google Sheets 技能
使用服务账户与 Google Sheets 交互。
设置(一次性操作)
-
Google Cloud 控制台:

- 创建/选择一个项目
- 启用 "Google Sheets API"
- 创建一个服务账户(IAM → 服务账户 → 创建)
- 下载 JSON 密钥文件
-
配置凭据(任选其一):
- 设置环境变量:
GOOGLE_SERVICE_ACCOUNT_KEY=/path/to/key.json - 将
service-account.json或credentials.json文件放置在技能目录中 - 放置在
~/.config/google-sheets/credentials.json
- 设置环境变量:
-
分享表格给服务账户邮箱(在 JSON 密钥文件中找到,键名为
client_email) -
安装依赖:
cd skills/google-sheets && npm install
使用方法
node scripts/sheets.js <command> [args]
命令
数据操作
| 命令 | 参数 | 描述 |
|---|---|---|
读取 | <id> <范围> | 读取单元格 |
写入 | <id> <范围> <json> | 写入数据 |
追加 | <id> <范围> <json> | 追加行 |
清除 | <id> <范围> | 清除范围 |
格式设置
| 命令 | 参数 | 描述 |
|---|---|---|
设置格式 | <id> <范围> <格式json> | 格式化单元格 |
获取格式 | <id> <range> | 获取单元格格式 |
边框 | <id> <range> [styleJson] | 添加边框 |
复制格式 | <id> <source> <dest> | 在区域之间复制格式 |
合并 | <id> <range> | 合并单元格 |
取消合并 | <id> <range> | 取消合并单元格 |
布局
| 命令 | 参数 | 描述 |
|---|---|---|
调整大小 | <id> <sheet> <cols|rows> <start> <end> <px> | 调整列/行大小 |
自动调整大小 | <id> <sheet> <startCol> <endCol> | 自动适应列宽 |
冻结 | <标识> <工作表> [行数] [列数] | 冻结行/列 |
工作表管理
| 命令 | 参数 | 描述 |
|---|---|---|
创建 | <标题> | 创建电子表格 |
信息 | <标识> | 获取元数据 |
添加工作表 | <标识> <标题> | 添加工作表标签页 |
删除工作表 | <标识> <工作表名称> | 删除工作表标签页 |
重命名工作表 | <标识> <旧名称> <新名称> | 重命名工作表标签页 |
示例
# Read data
node scripts/sheets.js read "SPREADSHEET_ID" "Sheet1!A1:C10"
# Write data
node scripts/sheets.js write "SPREADSHEET_ID" "Sheet1!A1:B2" '[["Name","Score"],["Alice",95]]'
# Format cells (yellow bg, bold)
node scripts/sheets.js format "SPREADSHEET_ID" "Sheet1!A1:B2" '{"backgroundColor":{"red":255,"green":255,"blue":0},"textFormat":{"bold":true}}'
# Copy format from one range to another
node scripts/sheets.js copyFormat "SPREADSHEET_ID" "Sheet1!A1:C3" "Sheet1!D1:F3"
# Add borders
node scripts/sheets.js borders "SPREADSHEET_ID" "Sheet1!A1:C3"
# Resize columns to 150px
node scripts/sheets.js resize "SPREADSHEET_ID" "Sheet1" cols A C 150
# Auto-fit column widths
node scripts/sheets.js autoResize "SPREADSHEET_ID" "Sheet1" A Z
# Freeze first row and column
node scripts/sheets.js freeze "SPREADSHEET_ID" "Sheet1" 1 1
# Add new sheet tab
node scripts/sheets.js addSheet "SPREADSHEET_ID" "NewSheet"
格式选项
{
"backgroundColor": {"red": 255, "green": 255, "blue": 0},
"textFormat": {
"bold": true,
"italic": false,
"fontSize": 12,
"foregroundColor": {"red": 0, "green": 0, "blue": 0}
},
"horizontalAlignment": "CENTER",
"verticalAlignment": "MIDDLE",
"wrapStrategy": "WRAP"
}
边框样式
{
"style": "SOLID",
"color": {"red": 0, "green": 0, "blue": 0}
}
边框样式:点状、虚线、实线、中等实线、粗实线、双线
查找电子表格ID
从网址中查找:https://docs.google.com/spreadsheets/d/SPREADSHEET_ID/edit
故障排除
- 403 禁止访问:未与服务账户邮箱共享表格
- 404 未找到:电子表格ID或工作表名称错误
文章底部电脑广告
手机广告位-内容正文底部


微信扫一扫,打赏作者吧~