关于 google-sheets
google-sheets 是用于编写和格式化 Google Sheets 的技能,涵盖从录入数据到创建图表。它说明如何管理工作表结构、公式、筛选器、保护范围和结果验证。
主要功能
- 01读取、写入、追加和清除单元格范围
- 02格式化单元格并管理工作表结构
- 03创建图表和条件格式
- 04使用命名范围与受保护范围
- 05验证数值、结构和渲染结果
适用场景
- 01创建格式化的数据表或仪表板
- 02根据表格范围制作图表
- 03保护表头和公式单元格
- 04检查数值、公式及图表是否正确
MCP 相关
提供使用 Google Sheets MCP 工具读取和修改单元格数据、格式、工作表结构及图表的指引。也提及用于移动电子表格和导出 PDF 的 google-drive 工具。
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ cursor/ plugins --skill google-sheets安装后在 Claude Code 中输入/google-sheets确认已加载。
详细介绍
Google Sheets 创作
有意采用两种坐标系统
- VALUE 工具(
read_range、write_range、append_rows、clear_range) 使用工作表标签标题和 A1 单元格地址:{sheet: "Data", cells: "A1:B4"}。 - STRUCTURE/FORMAT 工具(
format_cells、set_borders、merge_cells、add_chart、add_conditional_formatting、insert_rows_or_columns、delete_rows_or_columns、freeze_rows_or_columns、sort_range、set_data_validation、set_basic_filter、add_banding、set_column_width、rename_sheet_tab、delete_sheet_tab)使用数字sheetId。
get_spreadsheet 会返回两者(每个标签的标题和 sheetId),但不包含单元格
数据——请先调用它并保存映射。新标签的 sheetId 可在
add_sheet_tab 的回复中找到(replies[0].addSheet.properties.sheetId)。
按顺序创建带样式的工作表:先填值,再设格式,最后添加图表
create_spreadsheet(可选创建带名称的标签;它无法指定文件夹——之后使用 google-drivegoogle_drive_move_or_rename移动)。- 使用
write_range写入数据;当值包含数字、日期或公式时,将parseInput: true。默认值false会把所有内容都存为纯文本——这是导致“图表为空”问题的主要原因之一。 - 设置格式,让它像真正的仪表板,而不是光秃秃的网格:
- 使用
format_cells将标题行设为粗体、填充颜色和白色文字;为数值列设置数字格式($#,##0、0.0%)。 - 使用
freeze_rows_or_columns冻结标题行。 - 对表格区域使用
set_basic_filter——筛选下拉菜单能让它呈现为数据表。 - 使用
set_borders(外边框比内边框更粗)或add_banding设置交替行颜色;使用set_column_width避免内容被截断。 - 使用
add_conditional_formatting突出显示值得一眼关注的阈值。
- 使用
- 等数据就绪后,最后调用
add_chart。
图表
- 在
add_chart中,第一个范围是维度(x 轴/饼图标签),后续范围是数据系列,每个范围对应一列;图表最常见的问题是锚定到错误或顺序颠倒的范围。所有范围都必须位于图表所在的同一标签中。headerCount: 1会将首个单元格用作数据系列标签——设置此项时,请在每个范围中包含标题行。 - 将图表放在表格旁边或下方的空白单元格上,不要遮住其所绘制的数据。
- 图表有误时,应直接修复,而不是绕道处理:
get_spreadsheet会列出每个标签的图表(chartId、标题),update_chart会在保留图表位置的同时替换其规格,delete_chart可删除图表。切勿为了掩盖错误的第一个图表而再添加第二个。
命名范围和受保护范围
add_named_range可让公式更易读懂(例如=SUM(Budget),而不是=SUM(B2:B13));编写公式时设置parseInput: true。名称不能与单元格引用相似。protect_range可保护标题和公式单元格(默认warningOnly: true,会向编辑者发出警告;设为false则会锁定它们)。应在对该范围进行最后一次写入后再设置保护,否则你自己的写入也会受到保护限制。get_spreadsheet会列出两者及其 ID,供delete_named_range和unprotect_range使用。
注意事项
- 全程没有修订版本保护:最后一次写入优先。如果协作者可能正在编辑,请先读取再写入。
merge_cells只会保留左上角单元格的值;合并后再写入文本。sort_range会重排单元格位置;添加引用该范围的公式之前先排序,并将标题行排除在排序范围之外。insert_rows_or_columns/delete_rows_or_columns的位置从 1 开始计数(A=1);删除会立即生效,且无法通过 API 撤销。find_replace_sheet使用字面匹配(此处绝不使用正则表达式),并且可以通过searchFormulas: true搜索公式内容。- 读取整个标签可能会超出字节上限;对于尚未确定大小的标签,请限制
cells范围(例如"1:2000"),并在结果被截断时继续读取nextCells。
验证你的工作
使用 read_range 查看值(FORMATTED_VALUE 显示用户看到的内容;
UNFORMATTED_VALUE 显示原始数字——可用它确认数字是数字,
而不是文本)。使用 get_spreadsheet 查看结构:工作表标签页、图表、命名范围、
保护设置。若视觉效果很重要,可使用 google-drive google_drive_export_file(pdf 会渲染每个标签页,包括图表和格式)。
评论
支持 Markdown