簡體   English   中英

更改某些單元格值后,OpenPyXl重新計算

[英]OpenPyXl recalculate after changing some cells value

我正在嘗試使用OpenPyXL執行以下操作:

  • 打開一個.xlsx文件: A1 predefined value is 4
  • 讀取單元格(B2)的計算值, ex. B2 formula is A1 + 3 ex. B2 formula is A1 + 3即7
  • 用不同的數字更改A1的值, ex. 10 ex. 10
  • 讀取單元格的計算值(B2)

我希望最后一個結果必須是10 + 3 = 13但是更改A1單元格值后結果不會改變。

import openpyxl

wb = openpyxl.load_workbook("1.xlsx", data_only=False)

ws['B4'] = "C2"

print(ws2['B3'].value)

我發現必須使用data_only=False打開工作簿以計算公式,但是似乎它在加載工作簿時計算公式,並且經過一些更改后無法重新計算。

進行一些更改后,我該怎么做才能手動重新計算公式?

Openpyxl無法評估單元格公式。 它只能讀取上一次由Excel應用程序保存文件時在.xlsx文件中存儲的公式結果。

因此,基本上,您必須使用Excel應用程序打開並保存.xlsx文件,以便獲得重新計算的公式結果。

注意:例如,可以使用xlwings包直接從python調用和命令Excel應用程序。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM