You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在OpenPyxl 3.1.2中取消Excel工作表的冻结窗格?

OpenPyxl 3.1.2 取消冻结窗格的正确方法

在OpenPyxl 3.1.2版本中,取消冻结窗格可以通过以下两种可靠方式实现:

方法一:直接设置freeze_panes为None

这是官方推荐的最简方案,能正确清理冻结窗格的配置,避免Excel打开报错:

from openpyxl import load_workbook

# 加载目标工作簿
wb = load_workbook("frozen_file.xlsx")
# 选中需要取消冻结的工作表(可通过wb["工作表名"]指定具体表)
ws = wb.active

# 取消冻结窗格
ws.freeze_panes = None

# 保存处理后的工作簿
wb.save("unfrozen_file.xlsx")

方法二:手动清理sheetView配置

如果方法一未生效(比如工作表存在多视图配置),可以直接修改sheetView的pane属性,强制恢复为普通视图:

from openpyxl import load_workbook

wb = load_workbook("frozen_file.xlsx")
ws = wb.active

# 遍历所有工作表视图,重置冻结相关配置
for pane in ws.sheet_view.pane:
    pane.topLeftCell = None
    pane.ySplit = 0
    pane.xSplit = 0
    pane.activePane = "topLeft"
    pane.state = "normal"

wb.save("unfrozen_file.xlsx")

说明

  • 旧方案中直接赋值ws.freeze_panes=ws["A1"]会生成不符合Excel规范的XML结构,导致打开报错,因此不建议使用。
  • 2018年的sheetView修改方案失效是因为OpenPyxl 3.x版本调整了内部视图对象的结构,上述方法适配了新版本的API。

内容的提问来源于stack exchange,提问作者bird_in_the_hand

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.14 19:14:55