Python xlwings: вставка и вычисление неанглийской sh формулы Excel в xlsm - PullRequest
0 голосов
/ 30 января 2020

Я хочу установить формулу Excel с модулем python xlwings в файле xlsm.

Когда я устанавливаю его с помощью функции .value xlwings, формула правильно вводится в файл, но при открытии файла формула не рассчитывается. Вместо этого ячейка отображается в виде следующей ошибки:

"#NAME?"

После нажатия на ячейку и нажатия клавиши «ВВОД» она рассчитывается правильно. Однако я, очевидно, не хочу делать это для миллионов строк / ячеек, в которые я ввел формулу с Python.

Вот код, который я использовал для вставки значения и формулы:

import xlwings as xw

workbook = xw.Book('filename.xlsm')
import_sheet = workbook.sheets['my_sheet']
# setting a value
import_sheet['A1'].value = 401  # works as expected.
# setting a function
import_sheet['B1'].value = '=ZEILE()'  # is not displayed correctly

1 Ответ

0 голосов
/ 30 января 2020

Решение довольно простое, но не очевидное:

Изменение формулы на ее engli sh Аналог вычисляет и отображает формулу правильно (и даже переводит ее на язык моего Excel, когда я открываю файл ):

import_sheet['B1'].value = '=ROW()' 

Я предполагаю, что это связано с функциями обработки языка / функций xlwings? Просто догадка, хотя.

...