СПРОСИ ПРОФИ
👍
0
👎 00

Работа с эксель файлами через пайтон

Допустим есть эксель файл, в котором третья ячейка(C1) считает сумму первых двух ячеек (A1,B!). Формула задана изначально в третей ячейке (=A1+B1). Значения для первой и второй ячеек мы задаем при помощи кода на пайтон, затем извлекаем при помощи кода итоговое решение формулы т.е. (ячейку С1). Проблема в том, что пока я не открыл эксель и не сохранил его вручную (после манипуляций кодом) значения посчитанные формулой не выводятся ячейка выдает None.
вот код задаёт значения в эксель:

from openpyxl import load_workbook

#ввод входящих данных
fn=«Лист2.xlsx»
wb=load_workbook(fn)
ws=wb['page3']

ws['B2']=3333
ws['B3']=4444

wb.save(fn)
wb.close()

вот код выводит значение заданой ячейки:

import openpyxl

wb=openpyxl.reader.excel.load_workbook(filename=«Лист2.xlsx», read_only=True,data_only=True)

help(openpyxl.reader.excel.load_workbook)

print(wb.sheetnames)
wb.active=2

sheet=wb.active

print(sheet['B2'].value)
print(sheet['B3'].value)
print(sheet['C2'].value)
print(sheet['C3'].value)

По сути параметр data_only=True должен превращать формулу в посчитанное значение но выдаётся None потому что видимо библиотека openpyxl не может не открывая файл экселя самой программой посчитать эту формулу, только когда я вручную сохраняю, он выдает нормальные значения без None.
Как решить данную проблему, уже всё перепробовал.
Может быть есть библиотека в которой можно выполнить расчет формул экселя не открывая его или тому подобное?

Задайте свой вопрос по программированию
профессионалам

Сейчас онлайн 75 репетиторов по программированию
Получите ответ профи быстро и бесплатно
ASK.PROFI.RU © 2020-2024