Interact with Google Sheets using a service account.
GOOGLE_SERVICE_ACCOUNT_KEY=/path/to/key.jsonservice-account.json or credentials.json in the skill directory~/.config/google-sheets/credentials.jsonclient_email)```bash
cd skills/google-sheets && npm install
```
node scripts/sheets.js <command> [args]
| Command | Args | Description |
|---|---|---|
| --------- | ------ | ------------- |
read | | Read cells |
write | | Write data |
append | | Append rows |
clear | | Clear range |
| Command | Args | Description |
|---|---|---|
| --------- | ------ | ------------- |
format | | Format cells |
getFormat | | Get cell formats |
borders | | Add borders |
copyFormat | | Copy format between ranges |
merge | | Merge cells |
unmerge | | Unmerge cells |
| Command | Args | Description | |
|---|---|---|---|
| --------- | ------ | ------------- | |
resize | `| rows> | Resize columns/rows | |
autoResize | | Auto-fit columns | |
freeze | | Freeze rows/columns |
| Command | Args | Description |
|---|---|---|
| --------- | ------ | ------------- |
create | | Create spreadsheet |
info | | Get metadata |
addSheet | | Add sheet tab |
deleteSheet | | Delete sheet tab |
renameSheet | | Rename sheet tab |
# 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}
}
Border styles: DOTTED, DASHED, SOLID, SOLID_MEDIUM, SOLID_THICK, DOUBLE
From URL: https://docs.google.com/spreadsheets/d/SPREADSHEET_ID/edit
共 1 个版本