name: excel-pm-optimizer description: > Excel项目管理优化工具链。用Python(openpyxl/oletools)诊断xlsm/xlsx文件结构、 提取VBA代码、评估公式健康度、优化条件格式与命名范围、设计甘特图体系。 适用于项目进度表优化、VBA现代化评估、公式重构、甘特图设计等场景。 tags: [excel优化, VBA评估, 甘特图, 公式重构, openpyxl, oletools]
用Python诊断和优化Excel项目管理文件,覆盖VBA提取、公式评估、条件格式优化、甘特图设计全链路。
1. Excel文件全栈诊断
用 openpyxl + oletools 解析xlsm/xlsx文件,输出结构化诊断报告:
- Sheet结构(维度、合并单元格、隐藏行列)
- 公式链(LET/IF/NETWORKDAYS等函数使用统计)
- VBA代码提取与分类(事件处理器/模块/窗体)
- 命名范围健康度(#REF!/#NAME?检测)
- 条件格式规则统计
- 数据验证规则
- 图表与图片资源
小葱技能站7w4.net发现了升级插件。
2. VBA评估与现代化决策 提取VBA代码后,按以下决策树评估: - 事件驱动(Worksheet_Change等)→ 保留VBA或迁移Office Scripts - 数据格式化 → 替代为条件格式或自定义格式 - 批量计算 → 替代为LET/LAMBDA/动态数组 - 数据清洗 → 替代为Power Query - 复杂交互 → 保留VBA
3. 公式引擎优化 - 嵌套IF → IFS/SWITCH - 重复计算 → LET局部变量 - VLOOKUP → XLOOKUP/FILTER - 数组公式(Ctrl+Shift+Enter) → 动态数组溢出 - 自定义逻辑 → LAMBDA命名函数 - NETWORKDAYS → NETWORKDAYS.INTL(支持自定义周末)
4. 甘特图体系设计 - 动态时间轴:LET + COLUMN()实现可切换粒度(日/周/旬/半月/月) - 自动状态判断:IF + NETWORKDAYS + TODAY() - 进度百分比:MAX(0, MIN(1, NETWORKDAYS(...)/NETWORKDAYS(...))) - 可视化甘特条:条件格式 + 公式驱动着色 - 里程碑标记:数据验证 + 图标集
pip install openpyxl oletools
Python路径(Windows隔离环境):
C:/Users/13824/.workbuddy/binaries/python/envs/default/Scripts/python.exe
python scripts/diagnose_excel.py "path/to/file.xlsm"
输出JSON格式的诊断报告,包含所有元素的健康度评估。
python scripts/extract_vba.py "path/to/file.xlsm"
输出每个VBA模块的代码内容。
python scripts/optimize_formulas.py "path/to/file.xlsm" --output "optimized.xlsm"
自动修复#REF!错误,重构嵌套公式,清理命名范围。
参考 references/gantt-chart-patterns.md 中的设计模式。
完整的Excel文件诊断脚本,输出结构化JSON报告。
使用oletools提取VBA代码,支持xlsm/xlsb/xls格式。
公式优化脚本,修复错误引用,重构复杂公式。
references/gantt-chart-patterns.md — 甘特图设计模式库references/vba-modernization-guide.md — VBA现代化决策指南references/formula-optimization-patterns.md — 公式优化模式库references/excel-version-compatibility.md — Excel版本兼容性矩阵本skill与excel-optimization-expert专家共享 knowledge/registry.json。
每次优化完成后,将新的模式、方案、教训写入registry.json,实现知识积累。
整体质量中等偏上。文档内容丰富、场景覆盖全面,脚本能完成基本的Excel诊断和VBA提取工作,对优化甘特图和公式很有参考价值。但存在文档描述的功能与实际包含内容不匹配的问题,部分承诺的脚本缺失,需要自己补充开发。适合有一定技术基础的用户使用,新手可能会遇到功能找不到的困惑。