Excel 安全替换
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @user_8f803df1/excel-replace。
技能介绍
要解决的问题
Excel 批量替换很容易出错。直接用 openpyxl 逐格写入,文件一大就明显变慢;覆盖单元格前如果不做确认,一次误判范围就可能毁掉整列数据。临时脚本通常也没有备份和验证环节,跑完才发现替换错了对象。
核心能力与工作流程
excel-replace 遵循 excel-safe-workflow 四步法:需求解析 → 勘察 → 规划 → 执行 → 验证,覆盖前必须确认。
第一步:需求解析。 自动识别四种替换模式:
- 整列:如「E列全部替换成'已确认'」
- 整行:如「第3行整行清空」
- 条件单元格:如「状态列中所有'待审'改成'已审'」「空单元格填0」
- 单格:如「B5改成'总计'」
同时提取目标位置、新内容(固定值 / = 开头的公式 / 自定义转换)和匹配条件。
第二步:勘察。 检查目标范围与数据结构。
第三步:规划。 按场景选择执行路径。大于 10MB 的文件,整列 value/formula 替换走 sheet 层 XML 快速路径,速度快 3-5 倍,并通过 cell.get('r').startswith(col_letter) 限定列号,不会误伤其他列;transform 和 condition 模式需要 Python 逻辑判断,仍走 openpyxl。
第四步:执行。 替换值写为 inline string,不产生新的 sharedString 引用。
第五步:验证。 执行后校验结果。操作前自动按时间戳备份,成功后保留最新 3 份,失误可从备份恢复。
适用边界
- XML 快速路径仅支持整列 + value/formula 模式,其他场景必须用
openpyxl - 覆盖操作前必定确认,不支持跳过确认的静默替换
- 只处理单元格替换,不涉及图表、透视表等复杂结构
使用场景
- 拿到业务导出表,需要把 E 列整列统一改成「已确认」,换页前先确认覆盖范围并生成时间戳备份。
- 新增金额列要批量写入公式 `=C2*D2`,文件大于 10MB,期望走 XML 快速路径并在写入后验证结果。
- 状态列存在大量空值或「待审」,需要在指定列按条件替换为 0 或「已审」,保留其余数据不动。
- 临时表整行冗余或个别单元格错误,需要清空第 3 行、修改 B5 这类小范围精确操作。
适合人员
- 每周处理几十份业务导出表的数据分析师,需要批量统一列值且不想误覆盖原始数据
- 财务或运营人员,需要在月结前给金额列批量补公式并校验结果
- 需要清洗状态、分类等字段空值的产品运营,要求替换只命中符合条件的单元格
- 临时修正表格内容、但不熟悉 Excel 批量操作的普通办公人员