excel-diff
比对两份 Excel 表格的差异,按位置或按主键找出修改、新增、删除的行,可导出差异表。当用户提到对比 Excel、Excel 差异、两份表格有什么不同、核对表格时使用。
来源信息
- 仓库
- CoderWanFeng/python-office
- 最近来源活动
- 2026年10月26日 05:52
- 检测到的 SKILL.md 语言
- 中文
- 星标
- 1,370
- Forks
- 305
安装方式
默认使用会先检查来源的 Prompt;你也可以切换为直接命令,或下载本地副本。
检查来源文件
决定是否安装前,请先阅读 SKILL.md,以及 SkillsMP 当前展示的配套文件。
文件资源管理器
2 个文件正在显示 SKILL.md
SKILL.md
来源说明 · 只读预览- name
- excel_diff
- description
- 比对两份 Excel 表格的差异,按位置或按主键找出修改、新增、删除的行,可导出差异表。当用户提到对比 Excel、Excel 差异、两份表格有什么不同、核对表格时使用。
# excel_diff Skill
> 比对两份 Excel,输出单元格级差异,可导出差异表
## 功能描述
把两份 Excel 的同一张工作表做对比,返回每个变化的单元格、新增行、删除行和表头变化。
支持两种模式:按行号逐格比对(适合行顺序固定的表),或按主键配对后再比对
(适合行顺序会变、但每行有唯一编号的表)。
## 所属分类
`skills/excel/excel_diff/`
## 调用方式
```python
from skills.excel import excel_diff
excel_diff(
before_path='上周报表.xlsx',
after_path='本周报表.xlsx',
key_column='订单号',
)
```
## 参数说明
| 参数 | 类型 | 必填 | 默认值 | 说明 |
|------|------|------|--------|------|
| `before_path` | str | 是 | - | 变更前的 Excel 路径 |
| `after_path` | str | 是 | - | 变更后的 Excel 路径 |
| `sheet_name` | str | 否 | `None` | 工作表名,默认取第一个 |
| `key_column` | str | 否 | `None` | 主键列名;指定后按主键配对行 |
| `ignore_case` | bool | 否 | `False` | 文本比较是否忽略大小写 |
| `output_path` | str | 否 | `None` | 差异表输出路径,指定后写出 .xlsx |
## 返回值
`dict`,包含 `mode`、`sheet`、`header`、`summary`、`changes`、`added_rows`、
`removed_rows`、`output_path` 八个键。`summary` 中的 `identical` 表示两份表是否完全一致。
## 使用示例
```python
from skills.excel import excel_diff
result = excel_diff('v1.xlsx', 'v2.xlsx', key_column='编号', output_path='差异.xlsx')
print(result['summary'])
for item in result['changes']:
print(item['key'], item['column'], item['before'], '->', item['after'])
```
## 原始函数
`contributors/my12yyds/excel_diff.py`
在 GitHub 查看