Как рассчитать формулу в Excel и вывести вычисленное значение с помощью OpenPyXL - PullRequest
0 голосов
/ 11 июня 2019

Я пытаюсь скопировать / вставить количества из одной формы Excel в другую форму Excel (которую я использую в качестве шаблона), которая вычисляет COGS, а затем берет сумму COGS и присваивает ее переменной. После некоторого исследования OpenPyXL похоже, что вы не можете рассчитать формулу в режиме реального времени, поэтому я пытаюсь сохранить файл с скопированными количествами, а затем снова открыть его, взять мою сумму COGS и очистить количества, чтобы оставить ее как пустой шаблон.

Однако, когда я делаю это, я вижу, что он вставляет значения количества и очищает их, но общее значение COGS остается «Нет».

Это моя первая попытка применения Python после прочтения большей части Automate the Boring, так что я довольно новичок в этом. Любая помощь будет оценена!

# TODO: Calculate total sell using order form and total cost using ' Costing.xlsx
# Create variables to hold qty of each trim from the total_sheet
costing_wb = openpyxl.load_workbook('Z:\\Costing.xlsx')
costing_sheet = costing_wb['COSTING']
for i in range(3, 46, 1):
    costing_sheet.cell(row=i+2, column=4).value = total_sheet.cell(row=i, column=3).value
# Save Costing Sheet
costing_wb.save('Z:\\Costing.xlsx')

# TODO: total_COGS not grabbing value, returning as 'None'
# Reopen costing sheet and set COGS value
costing_wb = openpyxl.load_workbook('Z:\\Costing.xlsx', data_only=True)
costing_sheet = costing_wb['COSTING']
total_COGS = costing_sheet['I6'].value

# Empty Column D contents and save as blank
costing_wb = openpyxl.load_workbook('Z:\\Costing.xlsx')
costing_sheet = costing_wb['COSTING']
for i in range(5, 48, 1):
    costing_sheet.cell(row=i, column=4).value = None
costing_wb.save('Z:\\Costing.xlsx')
...