第38课 · AI 操作 Excel:三种方案选对不踩坑
本节要点
- AI 本身只是大脑,要操作 Excel 必须给它装「手」
- Python 两大库:Pandas(读数据)+ OpenPyXL(读写公式),但可能改坏格式
- 原生方案 Xlwings:Mac/Windows 通用,格式不会乱
- Win32com:仅 Windows,直接调系统接口
- 两个现成 Skill:Anthropic 官方 XLSX Skill(131K+ 下载)、Excel Automation Skill
- 用 find-skills 一句话搜索安装,让 AI 帮你选最合适的
1. 为什么 AI 操作 Excel 会出问题
很多同学已经试过让 AI 帮忙处理 Excel——合并表格、写公式、整理数据。但刚开始用的时候,经常会遇到两个让人头疼的问题:
问题一:AI 没法直接读 Excel
你把一个 .xlsx 文件丢给它,它可能直接说「我看不了」,或者要现场写一段 Python 代码来读。而写代码的过程中,它又要去安装各种环境依赖(pandas、openpyxl……),第一次跑起来特别慢。
问题二:格式被改坏了
好不容易跑通了,结果一打开文件发现:字体变了、颜色没了、合并单元格散开了、公式变成数值了……原本精心排版的报表,被 AI 按照自己的理解重新生成了一遍。
💡 这两个问题不是 bug,而是必然现象。理解了原因,才知道怎么选对方案。
2. 核心认知:AI 只是个大脑
先建立一个关键认知:
AI 本身只是一个大脑,它不具备操作 Excel(或任何文件)的能力。
你让它读 Excel,它不会真的「打开」Excel 软件。它做的事情是:调用某个工具(Python 库、Skill、系统接口),让工具去读写文件,再把结果反馈给你。
工具决定了结果质量。用对工具,又快又准;用错工具,格式全乱。
目前 AI 操作 Excel 的工具,分三大类:
| 方案 | 原理 | 格式安全 | 适用场景 |
|---|---|---|---|
| Pandas / OpenPyXL | 直接读写 XML 文件 | ⚠️ 可能改坏 | 读数据、写数据、标准化二维表 |
| Xlwings | 调用 Excel 软件原生接口 | ✅ 安全 | 格式复杂、要保留样式的报表 |
| Win32com | 调用 Windows 系统 COM 接口 | ✅ 安全 | Windows 专用的重度自动化 |
下面逐个讲清楚。
3. 方案一:Pandas + OpenPyXL(最常用)
这两个是 Python 操作 Excel 最经典的库,AI 默认就会用它们。
3.1 Pandas:读数据之王
Pandas 适合读取标准化的二维表——就是那种规规矩矩、第一行是表头、下面都是数据、没有合并单元格也没有花式排版的表格。
典型场景:
- 读取大型 CSV / Excel 文件做数据分析
- 合并多张表(本课程第 2 课的 Excel 合并工具就是用它)
- 筛选、汇总、透视
import pandas as pd
# 读 Excel
df = pd.read_excel("销售明细.xlsx")
# 按客户汇总
result = df.groupby("客户")["金额"].sum()💡 Pandas 把 Excel 当成「数据」来处理,不在乎格式。它关心的是数据本身,不是表格长什么样。
3.2 OpenPyXL:读写公式都能搞定
OpenPyXL 功能更全,Excel 大部分能力它都有:
- 读取 / 写入 Excel 文件
- 写公式(SUM、VLOOKUP 等)
- 操作单元格、行、列
- 设置样式
而且它的工作方式很聪明——它不是打开 Excel 软件去操作,而是直接解析 Excel 文件内部的 XML 结构,相当于绕过软件直接改文件内容,效率非常高。
from openpyxl import load_workbook
wb = load_workbook("底稿.xlsx")
ws = wb["Sheet1"]
ws["A1"] = "你好"
wb.save("底稿_新.xlsx")3.3 共同的坑:格式可能被改坏
这两个库都有一个共同的问题:它们是按照自己的理解来重建文件的。
举个例子,你的底稿里有一行是合并单元格、字体是微软雅黑、底色是浅蓝。AI 用 OpenPyXL 读取后重新生成,这些样式信息很可能就丢了——因为 OpenPyXL 在读取和保存之间,并不会 100% 保留所有格式细节。
如果你遇到了这个问题,往下看方案二。
4. 方案二:Xlwings(格式安全,跨平台)
如果你被「格式被改坏」这件事折磨过,强烈推荐用 Xlwings。
4.1 为什么 Xlwings 不会改坏格式
Xlwings 的原理和前两个完全不同:
- Pandas / OpenPyXL:直接改文件(像拿笔在纸上写字,可能写歪)
- Xlwings:让 Excel 软件自己来改(像让写字好看的人帮你写)
Xlwings 底层调用的是 Excel 软件的原生接口。也就是说,它相当于「远程操控」你的 Excel 软件,让 Excel 自己去做修改。既然是 Excel 自己干的,格式当然不会乱。
4.2 跨平台优势
| 系统 | Xlwings | Win32com |
|---|---|---|
| Windows | ✅ 支持 | ✅ 支持 |
| Mac | ✅ 支持 | ❌ 不支持 |
Xlwings 在 Mac 和 Windows 上都能用,这一点非常重要——如果你是 Mac 用户,Win32com 根本用不了,Xlwings 是你唯一的原生方案。
4.3 怎么让 AI 用 Xlwings
不需要安装什么特别的东西,直接在对话里告诉它:
帮我操作这个 Excel 文件,用 Xlwings 库,不要用 pandas 或 openpyxl,因为我要保留原有格式。
或者:
请用 Xlwings 打开这个 Excel,在 Sheet1 的 A1 单元格写入"审计完成",保存后关闭。
AI 看到「Xlwings」这个关键词,就会自动用它来写代码。
5. 方案三:Win32com(Windows 专用)
Win32com(全称 win32com.client)是 Windows 系统底层的 COM 接口,可以调用所有支持 COM 的 Office 软件。
它的特点和 Xlwings 类似——都是调用 Excel 原生接口,格式安全。区别是:
- 只在 Windows 上有效,Mac 用不了
- 功能更底层、更强大,但写起来也更啰嗦
- 适合重度自动化场景(批量打开几十个 Excel 做复杂操作)
import win32com.client as win32
excel = win32.Dispatch("Excel.Application")
excel.Visible = False
wb = excel.Workbooks.Open(r"C:\底稿.xlsx")
ws = wb.Sheets("Sheet1")
ws.Range("A1").Value = "审计完成"
wb.Save()
wb.Close()
excel.Quit()💡 如果你是 Windows 用户,遇到复杂需求时可以跟 AI 说「用 win32com」,它会自动走这条路。
6. 两个现成的 Excel Skill
除了让 AI 临时写代码,更省心的方式是安装现成的 Excel Skill。Skill 把常用操作封装好了,AI 调用起来更稳定。
6.1 Anthropic 官方 XLSX Skill(推荐首选)
这是 Anthropic(Claude 的母公司)官方出品的 Skill,目前下载量 131K+,是最热门的 Excel Skill。
- 底层用:Pandas + OpenPyXL
- 适用:常规的数据读写、公式操作
- 优点:官方维护,质量有保障,下载量大说明经过大量用户验证
- 缺点:因为是 Pandas + OpenPyXL,格式问题依然可能存在
6.2 Excel Automation Skill
另一个值得尝试的 Skill,特点是用 Xlwings 操作。
- 底层用:Xlwings
- 适用:对格式要求高的场景
- 优点:格式安全,Mac / Windows 都能用
- 缺点:下载量没有官方那个高,社区验证相对少一些
💡 两个都装上,对比着用。简单的数据处理用官方 XLSX Skill,遇到要保留格式的场景切到 Excel Automation Skill。
7. 怎么安装这两个 Skill
安装方式和第 9 课学过的 find-skills 完全一样。
7.1 用 find-skills 搜索
在 OpenCode / Claude Code 里说:
用 find-skills 帮我查找 Anthropic 官方的 xlsx Skill。
或者:
用 find-skills 搜索 Excel Automation Skill,就是用 Xlwings 操作 Excel 的那个。
AI 会调用 find-skills 在各个社区搜索,找到后告诉你下载量、评分、功能描述。
7.2 让 AI 帮你安装
找到之后直接说:
帮我安装这个 Skill。
AI 会自动执行安装命令,装完重启就能用了。
7.3 让 AI 帮你选
如果你不确定用哪个,可以把需求说清楚,让 AI 帮你判断:
我想让 AI 帮我处理审计底稿,底稿格式很复杂(合并单元格、公式、条件格式都有),请问应该用哪个 Excel Skill?帮我对比一下功能、底层库、下载量。
AI 会把每个 Skill 的详细信息罗列出来:
- 功能是什么
- 调用的 Python 底层库是哪个
- 热门程度 / 使用量怎么样
通过这些信息,你就能判断该用哪个了。
8. 三种方案怎么选
| 你的情况 | 推荐方案 |
|---|---|
| 读数据、合并、汇总,不在乎格式 | Pandas / OpenPyXL(官方 XLSX Skill) |
| 底稿格式复杂,不能乱 | Xlwings(Excel Automation Skill) |
| Windows 用户,要重度批量自动化 | Win32com |
| Mac 用户,要保留格式 | Xlwings(唯一选择) |
| 不知道选哪个 | 两个 Skill 都装上,对比着用 |
💡 课程将来可能有更好的方案。本节课推荐的是截止目前的最佳选择,AI 生态发展很快,将来会有更强大的 Excel Skill 出现。养成用 find-skills 搜索最新方案的习惯,永远不会过时。
⚠️ 常见问题
AI 操作 Excel 时报错「ModuleNotFoundError: No module named 'openpyxl'」
这是 Python 环境里没装对应的库。直接告诉 AI:
运行报错说缺少 openpyxl,帮我安装一下。
它会用 pip install openpyxl 帮你装好。Pandas、Xlwings、win32com 同理。
格式真的被改坏了怎么办?
立刻切换到 Xlwings 方案。跟 AI 说:
之前用 openpyxl 把我的格式改坏了,请改用 Xlwings 重新处理,这次要保留所有原有格式。
Mac 能用 Win32com 吗?
不能。Win32com 是 Windows 专用的 COM 接口,Mac 上只能用 Xlwings。
两个 Skill 都装了会冲突吗?
不会。Skill 之间互不干扰,AI 会根据你的需求自动选择调用哪个。你可以在对话里指定「这次用 XX Skill」来明确切换。
Excel 文件很大(几十 MB),AI 处理很慢怎么办?
- 用 Pandas 读数据比 OpenPyXL 快很多
- 如果只需要读、不需要改格式,优先 Pandas
- 如果必须保留格式且文件巨大,Xlwings 是最稳的(虽然慢一点,但不会出错)
关键收获
TIP
AI 操作 Excel,核心是选对工具:
- 不在乎格式 → Pandas / OpenPyXL(或官方 XLSX Skill),快、稳、热门
- 必须保格式 → Xlwings(或 Excel Automation Skill),Mac/Windows 通用
- Windows 重度自动化 → Win32com,最强但仅限 Windows
安装现成 Skill 比临时写代码更省心——用 find-skills 一句话搜索,让 AI 帮你选、帮你装。两个 Skill 都装上对比着用,是新手最稳妥的起步方式。
下一步
学会了 AI 操作 Excel 之后,可以把它接进你的工作流:
- 多个 Excel 合并汇总 → 自动生成报告(回顾第 2 课)
- 审计底稿批量处理 → 保留格式不破坏(用 Xlwings)
- 财务数据清洗分析 → 用 Pandas 一键搞定
这些场景里,Excel 操作都是整个工作流的「一环」——配合前面学过的 Skill(语音转文字、Word 生成、PDF 提取),你可以搭出完整的自动化链路。
参考链接
- OpenPyXL 官方文档:https://openpyxl.readthedocs.io
- Pandas 官方文档:https://pandas.pydata.org/docs
- Xlwings 官方文档:https://docs.xlwings.org
- find-skills 搜索 Skill(回顾第 9 课):/lessons/09-find-skills