夜雨聆风学习资料网

ARTICLE · 1258332

给 AI 装个 MCP 插件改 Excel,30 行里 4 行错

给 AI 装个 MCP 插件改 Excel,30 行里 4 行错

月度销售表,30 行数据,我要给金额超过 5000 的行标一句"重点跟进"。

手工做:一列一列看,二十来分钟,还容易看串行。

所以我试了另一条路:装个 MCP,让 AI 直接打开文件、自己改。

它改完了,回我一句"三件事都已完成,文件已直接改好"。

我复核了一遍:30 行里 4 行是错的。

而这 4 行错得很有意思——不是随机的。

先说这东西到底是什么

MCP 是个接口标准。装了它,AI 就不用你复制粘贴来回搬运,可以自己去读写你电脑上的文件。

你不用管它怎么实现的,只要知道一件事:装对一个 server,AI 就能直接动你的文件了。

我这次用的是 @negokaz/excel-mcp-server,Go 写的,跑在 Node 上,Windows 能用,不花钱。

一行装完:npm i @negokaz/excel-mcp-server@0.12.0

启动方式是 node 路径/dist/launcher.js 你的文件.xlsx。各家客户端配置文件写法不一样,但核心就两项——command 用 node,args 给 launcher.js 的路径和文件的绝对路径。

这里有个小坑值得先说:它只认绝对路径。 我第一次只说了"这是销售明细表"、没给路径,它自己拼了个"销售明细.xlsx"递过去,server 直接报错"不是绝对路径",然后它停下来问我文件在哪。

所以配置文件里写清楚,或者提示里给全绝对路径,能省一轮来回。

连上之后,它给了我 7 个工具:

excel_read_sheet 读表、excel_write_to_sheet 写表、excel_describe_sheets 看有哪些工作表、excel_create_table 建表、excel_copy_sheet 复制工作表、excel_format_range 设格式、excel_screen_capture 截图。

够用了。

第一次跑:它说全对,我数出 4 行错

我造了份演示表(30 行,我自己编的数据,不是真实客户):日期、客户、产品、数量、单价、金额。金额那列是公式 =D2*E2。

给 AI 的原话:

1在表头后面新增一列"备注"(第7列,G列);
2逐行判断:金额 >= 5000 的行,备注写"重点跟进",其余写"常规";
3改完后告诉我:重点关注多少行、全部金额合计多少。 注意:金额列是公式,不要破坏它。

它来回跑了 5 轮、调了 4 次工具、花 21987 个 token、6.4 秒,然后回我"都已完成"。

顺便说一句,它其实也复核了。第 4 步它又读了一遍 A1:G31——但用的还是 showFormula=true,读回来的还是 =D2*E2。它用同一双看不见数字的眼睛复核了自己。

我自己用 openpyxl 打开文件重算了一遍——不信任它的自述:

•公式保住了,=D2*E2 还在,这个它没吹牛
•备注列写满了 30 行
•但正确的应该是 17 行"重点跟进",它只写了 13 行

错的是这 4 行:

行
数量
单价
金额
它写的
应该是
2
21
320
6720
常规
重点跟进
12
22
320
7040
常规
重点跟进
23
17
480
8160
常规
重点跟进
28
23
480
11040
常规
重点跟进

更要命的是第三问:我让它报"多少行、合计多少",它只说了一句"都已完成",两个数字一个都没给。

它自己写的 13 个"重点跟进",跟真实该有的 17 个,差 4 个——连它自己写的都没数对。

我以为是它算错了,查完发现不是

第一反应是模型数学不行。我把同一个任务跑了三遍:两次错 4 行,一次错 5 行。

而且错的地方特别有规律——全是数量两位数、单价 320 或 480 的那几行。也就是说,凡是需要它真做一个"两位数乘三位数"的地方,就可能翻车;而 1 件 6800、2 件 12000 这种一眼出结果的,它全对。

不是随机乱错,也不是稳定复现,而是一直栽在同一类地方。

那就一定有原因。

于是我去看它到底读到了什么。这一看就明白了:

金额那一列,它读到的是 =D2*E2,不是 6720。

这个 server 读表有个参数 showFormula,默认给的是公式文本。AI 看到的表格长这样:

数量
单价
金额
21
320
=D2*E2
4
480
=D3*E3
1
6800
=D4*E4

它手里没有金额,只有一笔笔乘法题。它得自己做这 30 道乘法。

现在再看那 4 行错在哪——全是"两位数数量 × 三位数单价":21×320、22×320、17×480、23×480。

而它做对的行,要么是 1×6800、2×12000 这种一眼出结果,要么是 4×480 这种小数目。

它错的全是需要真动笔算的那几行。

顺带一个细节:它后来确实用 showFormula=false 又读了一次,拿到了真金额。但读完就结束了,没有回头改,还是汇报"都已完成"。

这个细节比错 4 行更值得记住。

加一句话,30 行全对

第二次,我在提示里加了一句话:

读表时请用 showFormula=false 取单元格的计算结果数值,不要自己心算公式。

就这一句。别的都没变。

结果:

•30 行全对,17 行"重点跟进"一个字不差
•合计报的是 312,340,跟我自己算的完全一致
•这次它用了 40550 个 token、10.8 秒
•它还自己多建了一张"统计核对"表,用 =COUNTIF(...) 和 =SUM(...) 把两个统计值写成活公式
•写完还自己读回来确认了一遍公式没被破坏

从 26 行对变成 30 行对,成本从 21987 涨到 40550 个 token。

多花的这点量,买的是"它去查了真数",而不是"它猜的"。

三件事带走

第一,AI 读表格,"公式"和"结果"是两回事。 你不说清楚,它可能读到一堆 =D2*E2,然后自己心算——30 道乘法错 4 道,是正常水平。提示里加一句"读数值不要读公式",这件事就没了。

第二,它说"完成了",不等于完成了。 我这次是 30 行里错 4 行,而且错的 4 行金额都不小(6720 到 11040),全是我最该盯的那种单子。让 AI 改表,改完必须自己开一遍文件核。

第三,绝不接受"我感觉对"。 我复核用的是 openpyxl 直接重算,不看它的说法,也不看它的截图。你不想写代码,那就至少打开文件,用筛选看看那些"重点跟进"该出现的行有没有出现。

适合谁,不适合谁

适合:手上有一批结构规整的表,要做机械处理——加列、按条件标记、批量改值、合并多个表。这类活 AI 做得跟你一样准,前提是你把"读数值"这句话说清楚。

别用:需要判断力的表。比如"这个客户值不值得跟进",那是你的事,不是它的。还有那种一改就牵一发动全身的复杂模板,它不熟悉你的业务规则,写进去容易出你发现不了的错。

最后

这类工具现在最大的问题不是"能不能用",是你太容易信它。

它一句话"都已完成",配上漂亮的表格输出,看着特别可靠。而我这次挖出来的错,全在最该看的行上,还差一点就被这句"都已完成"盖过去。

下一篇我把三个 Excel 类的 MCP 摆在一起跑同一个任务,看谁扛得住。

你手上最想让 AI 直接动手的一件事是什么?评论区说一句,我挑最多的那个真跑一遍。

相关学习资料