MCP审计场景中人工智能操作Excel的可行性再分析
类型:热点整理2026-07-08
对MCP工具在审计场景中操作Excel进行三次测试,包括创建数据透视表、填充空白单元格和写入数据,均以失败告终。问题源于工具能力不足、模型产生幻觉、无法执行脚本等。当前阶段AI难以胜任实际审计工作。
# AI操作Excel实战测评:MCP工具在审计场景中的表现与局限
本文将深入探讨AI借助MCP工具操作Excel的实用性与挑战,通过三个精心设计的审计场景测试,带你直观了解当前技术能力边界。
## 一、MCP工具简介与功能全景
要测试AI操作Excel的能力,首先需要了解**MCP工具**是什么。MCP工具相当于AI操作Excel的“桥梁”,它提供了一系列预设功能供AI调用。
打开MCP工具的GitHub页面,可以看到它支持以下核心功能:
- **创建和修改工作簿**
- **读取和写入数据**
- **应用格式和样式**
- **创建图表**
- **生成透视表**
从功能列表来看,目前支持的能力还不够丰富,但已经覆盖了Excel的大部分基础操作。接下来我们将通过具体案例来检验AI能否利用这个工具真正帮我们干活。
## 二、测试案例1:创建数据透视表
### 目标
对A列至I列的数据进行透视,计算**每种销售模式的收入之和**。
### 操作过程
在Cherry Studio中,我按照平时操作透视表的直觉,将完整的提示信息都给了AI,包括:
- Excel文档路径
- Sheet名称
- 透视范围(A列至I列)
- 选择的字段(销售模式)
- 计算方式(收入求和)
### AI的响应
AI理解了我的需求,并成功调用了MCP工具的`create_pivot_table`方法。但问题出现了:它共调用了3次。
**第一次调用:失败**
参数传递错误,导致函数调用失败。
**第二次调用:成功但选择错误**
函数调用成功了,但选错了列,没有按照预期的“销售模式”来分组。
**第三次调用:看起来成功了**
表面上看本次调用没有问题。
### 结果验证
打开Excel文档查看结果,发现AI创建了一个新的Sheet,但出现两个明显问题:
1. **表格类型错误**:右上角出现了“表设计”选项卡,说明这是一个**超级表(Super Table)**,而非我们需要的**数据透视表(PivotTable)**。
2. **数据错误**:销售模式只显示了1个,并且金额与目标值严重不符。
通过查看上方的工具调用记录,发现:大模型并没有按照要求透视A列至I列,而是自作主张地将范围限制在前100行,最终导致结果错误。
后续进行了多次测试,均无法正确创建透视表。目前尚不清楚是MCP工具的函数编写有问题,还是模型参数调优不到位。
小提示
选择数据透视作为测试场景的原因在于:处理大量数据时,模型容易出现“幻觉”。数据透视能够将数据分类汇总、大幅减少数据量,理论上能提高模型响应的精准度。如果连这一步都做不好,更复杂的处理就无从谈起。
常见问题
**问:为什么AI创建的不是真正的透视表而是超级表?**
答:这可能是MCP工具接口设计的问题,`create_pivot_table`底层实现可能调用了Excel的超级表功能,而不是真正的数据透视表。建议检查MCP工具的具体实现代码。
**问:如何避免AI自作主张限制数据范围?**
答:在提问时,建议**明确指定“使用A列至I列的全部数据,不要限制行数”**。但即便这样,由于模型的“幻觉”特性,仍有可能出现偏差。
## 三、测试案例2:填充空白单元格
### 目标
将A列中所有空单元格的值填充为**上方的第一个非空单元格**的值。常规操作中,我们使用`Ctrl+G`定位空单元格,然后批量填充公式即可。
### 操作过程
### AI的响应
AI的回复看起来非常顺利,主要步骤为:
1. **读取数据**:使用`read_data`函数读取Excel中A列的数据。
2. **生成脚本**:编写Python脚本来处理数据(填充逻辑)。
3. **写入结果**:使用`write_data`函数将处理后的数据写回Excel。
### 结果验证
打开Excel文档后发现结果完全错误。查看Python脚本代码,发现脚本本身就没有正确实现填充逻辑。
问题根源
关键在于:AI虽然生成了一个Python脚本,但实际根本没有运行这个脚本来获取真正的处理结果。脚本中的数据完全是AI凭空生成的,即使脚本本身逻辑正确,也不会自动执行。因此,写入Excel的实际上是AI直接创建的错误数据。
后续尝试了多个提示词,始终无法达到预期效果,最终放弃。
小提示
填充空白单元格看似简单,但实际上涉及对数据位置关系的准确理解。AI目前无法理解“上方非空单元格”这种相对位置关系,也没有能力真正执行一个外部脚本并获取结果。
常见问题
**问:我可以让AI调用VBA来解决这个填充问题吗?**
答:理论上可以,但需要VBA代码逻辑完备且能被正确执行。对于零基础用户来说,调试VBA代码仍然困难重重(参见第五部分)。
**问:为什么AI不能真正运行Python脚本?**
答:当前MCP工具的设计中,AI只是通过API调用工具的函数,并没有提供一个沙箱环境让AI去执行生成的脚本并获取结果。这是一个架构层面的限制。
## 四、测试案例3:写入Excel文档
### 目标
从PDF年报中复制一段表格数据(从巨潮资讯网随机找的),让AI将数据整理格式后写入Excel文档。这个场景在未来可以帮助AI清洗网页/PDF中格式不标准的数据。
### 操作过程
提交数据文本给AI后,AI的回复看起来很合理,调用了一系列函数:
- `创建工作簿`
- `创建工作表`
- `写入数据`
### 结果验证
经过反复测试和调试,始终无法顺利完成这个场景。任何一个步骤都可能发生错误:
- 创建工作簿时失败
- 创建工作表时参数错误
- 写入数据时格式不对
花了半小时仍未能完成这个“最简单的场景”。
小提示
这个案例暴露了当前AI+Excel操作的核心问题:多个步骤串联时,任何一个环节出错都会导致整个任务失败。模型必须保证每个函数调用都绝对正确,这对当前的AI能力来说是极高要求。
常见问题
**问:为什么这种简单的数据写入都做不好?**
答:问题的根源在于:AI需要处理非标准格式的文本(PDF复制出来的),并正确解析为结构化数据,再映射到Excel的行列结构中。这要求AI具备精准的文本理解和结构化能力。
**问:如果我给AI提供标准格式的文本(如CSV),结果会好吗?**
答:理论上会更好,但即便如此,函数的参数传递、工作簿管理等环节仍可能出现错误。建议在测试时使用最简化的数据格式。
## 五、关于模型生成VBA代码方案的反思
在很多公众号中,我们经常看到“让DeepSeek、Kimi帮你XX工作表”的推广文章。点进去通常就是**让AI生成VBA代码,然后复制到Excel中F5运行**。
实话实说,我之前也想写一篇这样的教程,因为VBA生成代码后可以直接执行,看似更优雅。但问题在于:要成功完成任务,可能需要提问多次,然后只截取成功的那一次出来宣传,这有自欺欺人的嫌疑。
对于**VBA零基础的用户**,在实际工况下完成自己的需求几乎不可能:
- 代码跑偏了,不知道哪里错了
- 运行报错了,无法调试
- 结果不对,无法修正
当然,如果你愿意学习一下VBA的基础调试技巧(比如单步执行、查看变量、设置断点),那么AI生成VBA代码的方案确实很香。
## 六、整体结论与展望
经过上述三个测试案例,我对用AI操作Excel的结论是(截至2025年4月20日):当前阶段很难投入到审计的实际工况中。
### 核心问题分析
无论是**模型生成VBA代码**还是**模型调用MCP工具**,都面临同样的挑战:使用者不仅要清楚知道如何操作Excel,还要了解Excel操作的关键点和陷阱,同时确保所用的MCP工具足够强大。
现在的情况相当于让一个**实习生(AI)**使用一个**不熟悉的新工具(MCP)**去操作一个**功能复杂的软件(Excel)**。实际上,我们希望的是给出一个任务(而非一连串详细步骤),期待AI能自主解决问题并返回正确结果。
在Excel这个**非常开放且自由**的场景下,目前AI+MCP的能力还无法胜任这样的期望。
### 对未来的期待
尽管当前测试结果不如人意,但我依然对MCP工具的发展前景充满信心。目前MCP工具还处于起步阶段,但随着技术进步,无论是MCP工具本身的能力,还是驱动工具的模型能力,都会不断进化。
未来可期:也许有一天,我们真的可以解放双手,放心让AI去处理那些基础性的事务。但在此之前,掌握基本的Excel操作和调试技巧,仍然是每个审计人员必须具备的能力。
来源:https://www.53ai.com/news/RAG/2025042394756.html