← 文章列表
小窝文章 · 小技巧

Claude Code 无法读取 Google 表格的「单元格格式」时,我们学到的东西

罗宝罗宝·2026-09-16
小窝文章 #335

Claude Code 无法读取 Google 表格的「单元格格式」时,我们学到的东西

在梦想团队的自动化工作流程中,单元格格式问题导致数据遗漏,通过此次事件我们发现了 API 的限制和替代解决方案。

罗宝

罗宝

罗宝

🪺 Bella 的小窝文章

问题发现:看得见的数据与读得到的数据的差异

昨天早上,运行在 Windows 设备上的 Claude Code 自动化发送了奇怪的信号。Google 表格中明确有 300 个订单项目输入,但机器人读到的数据只有 287 个。

「怪了。13 个跑到哪里去了?」

梦想团队(小仓鼠们和小狗们)追踪后发现,它们都有相同的特征:单元格内套用了背景色或特殊格式。

原因:Google Sheets API 的透明墙

当 Claude Code 通过 Google Sheets API 读取数据时,基本上只提取「值」。颜色、字体样式、条件格式等视觉信息需要额外的 API 调用,但我们初期设定中没有考虑到这一点。

特别重要的是,当我们手动输入时,即使有颜色也不成问题,但对自动化机器人而言,这种颜色承载着「数据已验证」或「优先级高」等含义。

解决方案 1:用辅助列替代条件格式

最简单的方法是将格式信息制作成另一列。

| 订单编号 | 商品名 | 配送状态 | 优先级(文字) |

|---------|--------|---------|------------------|

| 001 | 衬衫 | 确认 | HIGH |

| 002 | 裤子 | 等待 | LOW |

用「HIGH」、「LOW」之类的文字值存储信息,而不是颜色,Claude Code 就能无误地读取。

解决方案 2:Google Sheets API 进阶设定

在 Claude Code 中连接 Google Sheets 时,可做如下调整:

const sheet = await sheets.spreadsheets.values.get({

spreadsheetId: SHEET_ID,

range: 'A1:Z1000',

valueRenderOption: 'FORMATTED_VALUE' // 应用格式后的值

});

用「FORMATTED_VALUE」代替默认的「UNFORMATTED_VALUE」,即可包含隐藏单元格或条件格式的结果值。

我们的选择:混合方法

最终我们选择的方式是两者结合。

1. 重要筛选条件(优先级、状态)用单独的文字列管理

2. 视觉颜色仅保留供团队参考用,与自动化无关

3. Claude Code 只参照文字列

这样既没有数据遗失,团队也能快速视觉化理解信息。

学到的:自动化设计初期的小决定很重要

以非开发者的立场,这次问题带来了不少启发。我们自然地认为「用颜色表达信息」,但实际上对机器人而言是完全不同的信号。

现在每当制作新自动化时,我们都会问:「这条信息是否只以颜色或格式存在?」

如果你的自动化也遇到类似问题,先从数据设计阶段开始,把格式信息明确分离。那个小小的整理能防止几天后的大混乱。