agentsclimarketplace

Excel freeze

Skill YuYY2004/excel-skills/claude/skills/excel-freeze

Freeze or unfreeze Excel worksheet panes. Supports freeze top row, freeze first column, freeze top row + first column, freeze at specified position. 冻结或取消冻结 Excel 工作表窗格,支持冻结首行、冻结首列、冻结首行+首列、冻结指定位置。 Trigger keywords: "freeze" "freeze header" "lock top row" "freeze first column" "unfreeze" 触发词包括"冻结""固定表头""锁定首行""首列不动""取消冻结""冻住"。From its SKILL.md

Install
npx -y skills add YuYY2004/excel-skills --skill excel-freeze

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • 2 stars2 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

SKILL.md

2.7 KB, 804 tokens by cl100k_base, as published. Nobody here has run it

This skill follows [[excel-safe-workflow]] four-step method (lightweight: Scout→Execute→Verify). 本技能遵循 [[excel-safe-workflow]] 四步法(轻量版:勘察→执行→验证)。

Excel Freeze Panes / Excel 冻结窗格

功能

冻结后,被冻结的行/列在滚动时始终可见。纯 Excel 视图效果,不影响数据。

第零步:需求解析

用户说冻结位置freeze_panes 值
"冻结首行""表头不动""标题行固定"仅首行A2
"冻结首列""第一列不动""序号锁定"仅首列B1
"冻结首行和首列""表头和序号都不动"首行+首列B2
"冻结前3行"指定行A4
"取消冻结""解冻""不冻了"取消None

第一步:勘察

from openpyxl import load_workbook

wb = load_workbook('目标文件.xlsx')
ws = wb.active
current = ws.freeze_panes
print(f'当前冻结: {current if current else "无"}')
print(f'工作表: {ws.max_row}行 x {ws.max_column}列')

# 展示表头供确认
for col_idx in range(1, min(6, ws.max_column + 1)):
    h = ws.cell(row=1, column=col_idx).value
    print(f'  表头列{col_idx}: {h}')

第二步:执行

from openpyxl import load_workbook

# ===== 用户配置 =====
FREEZE = 'A2'  # None=取消 / 'A2'=首行 / 'B1'=首列 / 'B2'=首行+首列 / 'A4'=前三行
# ====================

wb = load_workbook('目标文件.xlsx')
ws = wb.active
ws.freeze_panes = FREEZE
wb.save('目标文件.xlsx')

desc = {
    None: '已取消冻结',
    'A2': '已冻结首行',
    'B1': '已冻结首列',
    'B2': '已冻结首行+首列',
}
print(desc.get(FREEZE, f'已冻结: {FREEZE}'))

第三步:验证

wb = load_workbook('目标文件.xlsx', read_only=True)
ws = wb.active
print(f'冻结状态: {ws.freeze_panes}')
wb.close()

注意事项

  • 仅影响活动工作表:如有多个 sheet,需逐个设置
  • 合并单元格:冻结线穿过合并单元格时,合并会被拆分
  • Excel 打开才可见:openpyxl 只是写入属性,效果需在 Excel 中查看
  • 操作前必备份:遵循 [[excel-safe-workflow]] 第零步——操作前自动备份(时间戳命名)

What ships with it

Read from the repository

Just SKILL.md. No reference files, no scripts.

Keep looking

Skills are one crate of 325,949. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.