Я сделал pip-установку Pycel в conda.
Я выполняю это в Jupyter Notebook.
%matplotlib inline
from pycel import ExcelCompiler
from IPython.display import FileLink
import matplotlib.pyplot as plt
filename = "../python/pycel_files/example.xlsx"
print("Loading {}...".format(filename))
# load & compile the file to a graph
excel = ExcelCompiler(filename=filename)
# test evaluation
print("B1 is {}".format(excel.evaluate('Sheet1!B1')))
print("B2=(B1+5) is {}".format(excel.evaluate('Sheet1!B2')))
Вывод: Как и ожидалось
B1 is 10
B2=(B1+5) is 15
Однако, если я теперь сделаю это:
print("Setting B1 to 200")
excel.set_value('Sheet1!B1', 200)
print("B2 is now %s (the same should happen in Excel)" % excel.evaluate(
'Sheet1!B2'))
Я получу ожидаемый результат в Jupyter:
Setting B1 to 200
B2 is now 205 (the same should happen in Excel)
Проблемы:
- Однако в Excel ячейка B1 не обновляется. Т.е. у него нет значения 200, которое якобы было установлено Pycel. Он по-прежнему показывает 10.
- Я столкнулся с той же проблемой в их примере github .ipynb из файла Pycel . Может ли кто-нибудь подтвердить, сталкиваются ли они также с той же проблемой, и это похоже на ошибку?
- Кроме того, если я внесу какие-либо изменения в их * Excel файл примера и использую их файл .ipynb, то ничего не показывает вверх в графах Matplotlib. Как Pycel узнает, какой лист выбрать? Всегда ли по умолчанию для sheet1?