首页 > 解决方案 > 以编程方式访问 Excel 公式

问题描述

我有一个带有公式的 Excel 表,我想编写一个脚本来在我的项目中使用这些公式。我尝试使用 openpyxl 库,但它只读取公式(例如=SUM(C11:C17)),或者如果我使用load_workbook(file, data_only=True),它不会更新计算。

有没有办法在excel表之外使用公式?

编辑:表值 | C | | ------------ | | 5 | | 2 | | 3 | | 4 | | 5 | | 2 | | 1 | | =总和(C11:C17)|

wb = load_workbook(file, keep_vba=True, data_only=True)

ws = wb["Sheet1"]
c = ws['C11']
print(c.value)

c2 = ws2['C18']
print(c2.value)

ws['C11'] = 0

print(c2.value)

结果:

5
22
22 (expected 17)

标签: pythonexcelopenpyxl

解决方案


如果需要与 excel 交互 openpyxl 还不够, Felix Zumstein的 xlwings 可以使用 com 对象来完成。

其他“开箱即用”的解决方案是Dirk Gorissen的 pycel,它可以在 python 环境中运行公式,或者XLtoy [ ],它可以方便地提取公式。[ ] 我是主要开发者。


推荐阅读