Excel 行列安全删除
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md 安装 @user_8f803df1/excel-delete。
技能介绍
处理 Excel 表格时,删除行或列是一件容易翻车的操作。一次错误的删除可能让公式引用直接断裂,破坏原本正常的格式,甚至把工作簿改成无法使用的状态。更麻烦的是,有些删除操作会留下空白占位,表面上数据少了,实际上行号已经不连续,后续的统计和筛选都会受影响。excel-delete 把行列删除封装成一套带验证、带备份的安全流程,让删除动作可预期、可回退。
删除逻辑与执行引擎
技能先从需求解析入手:根据用户输入自动判断目标是行还是列,支持精确区间(如第5行到第10行)、单列标识(如 E 列)、语义命名(如“申请日那一列”)以及空行空列的自动扫描。勘察阶段会扫描工作表并检查公式依赖,如果发现目标行/列被其他公式引用,技能不会直接执行,而是先告知用户风险,确认后再继续。
删除阶段按操作类型选择不同引擎:
- 行删除:直接操作 sheet XML,不调用
delete_rows(),速度更快,且能保留原有格式与公式结构。 - 列删除:使用
openpyxl的delete_cols()方法,逐行移除 cell,保证结构完整。
执行完成后必须经过验证步骤,确认数据和格式符合预期。
边界与注意事项
- XML 删除行后必须压实行号:直接操作 XML 不会自动重排序号,Excel 打开后会出现空白行,技能会在删除后主动询问用户是否压缩编号。
- 间接引用无法自动识别:
INDIRECT和OFFSET这类动态引用不会被依赖检查覆盖,需要用户手动确认。 - 合并单元格会被自动清理:如果被删行涉及合并单元格定义,XML 方案会自动移除相关定义。
- 大文件需要额外依赖:处理超大工作簿时需安装
lxml并启用huge_tree=True。 - 操作前自动备份:遵循 excel-safe-workflow 第零步,删除前生成带时间戳的备份文件,保留最近三份,出错时可立即恢复。
使用场景
- 财务分析师删除成本表中不再使用的辅助行,并保留其他公式引用完整。
- 数据工程师删掉导入数据末尾的空白行,压实行号,让表格连续显示。
- 运营经理需要从活动报名表移除三个辅助列,但不破坏已有统计公式。
- 产品运营清理Sheet1中整列都是空值的空列,不误删相邻有效数据。
适合人员
- 财务报表分析师,需要清理多余行列时不破坏公式与格式。
- 数据整理人员,需要快速删除大批量空行并保持编号连续。
- 运营主管,需要批量移除无用列且能确认公式依赖后再操作。
- 需要安全删除行和空列的行政文员,删除时不误损相邻内容,可直接复核结果。