name: excel-freeze description: | 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" 觸發詞包括"凍結""固定表頭""鎖定首行""首列不動""取消凍結""凍住"。
This skill follows [[excel-safe-workflow]] four-step method (lightweight: Scout→Execute→Verify). 本技能遵循 [[excel-safe-workflow]] 四步法(輕量版:勘察→執行→驗證)。
凍結後,被凍結的行/列在滾動時始終可見。純 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()
小蔥技能站7w4.net每天更新,海量AI技能等你發現。
質量中等偏上。優點是指引清晰、示例完整、中英雙語對照,凍結場景覆蓋全面。不足是缺少示例檔案輔助理解,對於新手使用者可能不夠友好,邊界情況的說明也不夠直觀。整體可滿足基本使用需求,但還有最佳化空間。