Ich habe inzwischen die Lösung gefunden, die von openpyxl bereitgestellt wird. Manchmal ist die Lösung so einfach
Damit geht es m. E. simpel.
Ich habe
ein Excel-Testfile mit folgenden Zellinhalten (A1:A5) erstellt:
[codebox=text file=Unbenannt.txt]1
2
=A1+A2
=1+A3
5[/code]
Nun führe ich folgenden Quellcode aus:
Code: Alles auswählen
from openpyxl import load_workbook
xlsxfile = "excelfile.xlsx"
wb = load_workbook(filename = xlsxfile, data_only = True) # 1
sheet_ranges = wb['raw']
for i in range(1,6):
print(sheet_ranges['A{}'.format(i)].value)
Wichtig ist der Parameter (# 1) "data_only = True", der die im File gecachten Ergebnisse der berechneten Formeln ausliest. Problematisch ist hier nur, dass dieser Quellcode bei Zellen mit Formeln wohl None ausliefert, wenn das xlsx-file z. B. mit openpyxl geschrieben wurde und die Datei vor dem Lesen nicht mehr mit Excel geladen wurde. Excel hätte beim Öffnen nämlich die Formeln ausgelesen und dann dort Werte hinterlegt.
In der Konsole erhalte ich bei data_only = True dann folgendes Ergebnis:
[codebox=text file=Unbenannt.txt]1
2
3
4
5[/code]