Результаты формулы вывода openpyxl, а не формулы в ячейки - PullRequest
0 голосов
/ 26 июня 2018

Я пытаюсь закончить скрипт для преобразования файла Excel. Он перебирает строки в столбце и создает формулу, которая очищает данные в другом столбце. Вот мой код:

import openpyxl

wb = openpyxl.load_workbook('test-in.xlsx')
ws = wb.worksheets[2]
max_row = sheet.max_row

for row_num in range(2, max_row):
    ws['I{}'.format(row_num)] = '=CLEAN(D{})'.format(row_num)


wb.save('test-out.xlsx')

Это работает очень хорошо, однако выходной файл содержит ячейки с приведенной выше формулой. Я не хочу отправлять лист с формулами, я просто хочу получить итоговые значения. Есть ли способ сделать это?

Ответы [ 2 ]

0 голосов
/ 05 июля 2018

Документация на это вполне понятна http://openpyxl.readthedocs.io/en/latest/usage.html#using-formulae

0 голосов
/ 26 июня 2018

К сожалению, у меня нет Excel, но этот код отлично работает в LibreOffice Calc. Может быть, выполнение формул в Excel как-то запрещено, и вы должны разрешить это вручную?

Также вам нужен диапазон (2, max_row + 1 ), иначе он не будет работать для последней строки.

...