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

如何通过openpyxl获取Excel含公式单元格的实际值而非公式文本

解决方案

方案1:使用openpyxl(轻量无额外软件依赖)

openpyxl默认读取单元格的原始内容(包含公式文本),只需在加载工作簿时指定data_only=True参数,即可直接读取Excel上次保存时生成的公式计算缓存值:

import openpyxl
# 加载工作簿时开启data_only参数
wb = openpyxl.load_workbook("你的文件路径.xlsx", data_only=True)
working_sheet = wb["你要操作的工作表名称"]
# 原有读取逻辑不需要修改,此时拿到的就是公式计算值
cell_value = working_sheet.cell(row=row_number, column=column_number+1).value

注意:如果读取公式单元格返回None,说明该文件没有保存过公式计算缓存,只需用桌面版Excel/WPS打开该文件,无需做任何修改直接保存后再运行代码即可正常取值。

方案2:使用xlwings(支持实时计算无缓存的公式)

如果无法提前打开文件生成缓存,可使用xlwings调用本地安装的Excel/WPS进程,实时计算所有公式的结果:

import xlwings as xw
# 后台启动Excel进程,不显示界面
with xw.App(visible=False, add_book=False) as app:
    wb = app.books.open("你的文件路径.xlsx")
    working_sheet = wb.sheets["你要操作的工作表名称"]
    # 直接读取单元格即可拿到实时计算值
    cell_value = working_sheet.range(row_number, column_number+1).value
    wb.close()

注意:该方案需要本地设备已安装Excel或WPS软件。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 01:24:02