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

Python向Excel指定工作表单元格写入整数值的可行方案

可行实现方案

修改.xlsx格式多工作表Excel文件,优先使用openpyxl库,该库遵循Office Open XML格式标准读写文件,不会破坏原有文件结构、其他工作表内容、单元格格式与公式,你之前遇到的文件损坏、修改不生效问题,基本是库选型错误、文件被占用、保存逻辑错误导致的。

操作前置要求

  • 提前关闭所有正在打开testexcel.xlsx的程序(WPS、Office Excel、文件预览窗口等),文件被系统锁定时写入会失败甚至损坏文件
  • 安装依赖库,执行命令:
    pip install openpyxl

可直接运行的代码

from openpyxl import load_workbook

# 加载目标工作簿,保留原有格式、公式,开启写入权限
wb = load_workbook(
    filename="testexcel.xlsx",
    data_only=False,
    read_only=False
)
# 定位名为sheet_1的目标工作表
ws = wb["sheet_1"]
# 向C5单元格写入整型值5,openpyxl支持直接用Excel原生单元格地址定位
ws["C5"] = 5
# 保存修改,若不想覆盖原文件,可替换为其他文件名比如"testexcel_updated.xlsx"
wb.save("testexcel.xlsx")
wb.close()

常见踩坑规避

  • 不要使用xlwt/xlrd库修改.xlsx文件,这两类库仅支持旧版.xls格式,强行写入xlsx会直接导致文件损坏
  • 不要直接用pandas的to_excel方法覆盖原文件,pandas导出会重建整个工作簿,会丢失其他工作表、原有单元格格式、公式、宏等内容
  • 如果运行时报工作表不存在的KeyError,可在定位工作表前加一行print(wb.sheetnames),打印文件内所有工作表的准确名称,排查是否存在前后空格、大小写不一致的问题
  • 不要在加载工作簿时开启read_only=True或data_only=True参数,前者无写入权限,后者会丢失原有公式,且可能导致写入不生效

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.28 13:01:00