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

使用Python的openpyxl向Excel写入内容后文件未更新问题

OpenPyXL写入Excel后文件未更新问题

问题描述

我有一个处于打开状态、名为student.xlsx的Excel工作簿,该工作簿为空且仅包含一个名为Sheet1的工作表。我尝试运行以下Python代码向第一行各列单元格写入字母,代码运行无报错,但Excel工作簿未更新。

运行的代码

import openpyxl

wb = openpyxl.load_workbook('student.xlsx')
sheet = wb['Sheet1']


# Write letters to different cells
sheet['A1'] = 'A'
sheet['B1'] = 'B'
sheet['C1'] = 'C'
sheet['D1'] = 'D'
sheet['E1'] = 'E'

# Save the workbook
wb.save('student.xlsx')

原因及解决办法

  • 问题根源:Excel在打开文件时会对文件加锁,防止其他程序修改。OpenPyXL的save()操作虽然执行成功,但无法覆盖被锁定的原文件,所以你在打开的Excel窗口里看不到更新内容。
  • 解决步骤:
    1. 关闭正在打开的student.xlsx文件;
    2. 重新执行上述Python代码;
    3. 再次打开student.xlsx,就能看到写入的A-E字母了。

额外注意

  • 后续操作时,务必确保目标Excel文件没有被任何程序(Excel客户端、其他脚本等)占用后,再运行Python写入代码;
  • OpenPyXL是基于磁盘文件读写的库,不支持在Excel客户端打开文件时实时同步更新内容。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.05 22:58:23