Excel/WPS 表格自动化工具
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @user_7871dce1/excel-auto-zh。
技能介绍
处理电子表格的典型痛点
处理 Excel 或 WPS 表格时,许多工程师都会遇到几个棘手的问题:手动重复修改格式、无法解析含 VBA 宏的 .xlsm 文件、或者需要将几十个结构相同的表格合并汇总。这些任务用 Python 可以自动化,但选择合适的库和处理策略是关键。
核心能力与实现方式
该技能提供三种主要的自动化路径,使用 Python 标准库和 openpyxl 来应对不同场景:
1. 创建格式化报表
使用 openpyxl 生成结构化的 Excel 文件,支持通过 PatternFill、Font 等类自定义单元格样式。典型用法是为不同数据类型分配颜色:蓝色用于输入项,黑色用于计算结果,绿色用于跨表公式引用。这在生成财务报表或数据汇总时能清晰区分数据来源。
2. 解析复杂 xlsm 文件
当遇到 openpyxl 无法处理的大型 .xlsm 文件(尤其是包含 VBA 宏、文件超过 1MB 的财务模型)时,可以回退到使用 zipfile 配合 xml.etree 直接解析。原理是 Excel 文件本质是 ZIP 压缩包,内含 XML 格式的工作表数据。这种方法无需安装额外依赖,适合在受限环境中提取数据。
3. 批量数据处理工作流
对于重复性任务,如合并多个考勤表或销售报表,可以通过 openpyxl 的 load_workbook() 读取多工作表,用 pandas 或原生 Python 进行数据合并,最终输出带汇总行(如 SUM、AVERAGE)和自动排名列的报告。
适用边界与注意点
需要注意,使用 openpyxl 生成的文件是标准 .xlsx 格式,在 WPS Office 中完全兼容。但对于解析场景,如果 xlsm 文件结构异常复杂或加密,直接解析 XML 可能仍会失败,这时需要考虑文件修复或使用其他工具预处理。此外,批量处理时应关注内存占用,处理上百个大文件时建议分批操作。
使用场景
- 财务部门需要用 Python 脚本生成带颜色区分的月度报表,蓝色标注输入项、黑色标注计算值、绿色标注跨表引用公式。
- 开发者遇到 openpyxl 无法打开的含 VBA 宏的 xlsm 文件,需要用 zipfile 配合 xml.etree 直接解析提取其中数据。
- 销售经理需要把散落在多个工作表里的销售数据自动合并,生成带有 SUM 汇总行和排名列的月度报告。
- HR 需要批量处理 20 个部门的考勤 Excel 文件,自动提取出勤记录并生成一份带 AVERAGE 的月度汇总表。
适合人员
- 财务分析师:每月需要生成多份带专业格式的财务报表,手动调整颜色和公式耗时太长。
- 数据工程师:需要解析包含 VBA 宏的大型 xlsm 财务模型文件,但 openpyxl 无法处理。
- HR 专员:每周要把十几个部门的考勤表合并汇总成一份月报,重复操作容易出错。
- 运营人员:需要从多个 Excel 文件中提取数据并生成带排名、汇总的分析报告,用于周会汇报。