Как обновить Excel с помощью Python - PullRequest
0 голосов
/ 03 мая 2019

Мне нужно оценить функцию в Excel, используя Python, сразу после написания этой функции в Excel с помощью XLSX Writer или OpenPyxl. Мне нужно вернуть число, сгенерированное этой функцией, обратно в python для использования в формуле. Я не могу вычислить это число прямо в Python, потому что он использует функцию Excel, которая была сделана на заказ для взаимодействия с другой программой. Если я открою файл excel после записи функции в ячейку, функция выполнит оценку.

Я пытался использовать win32com, но, похоже, не работает. Кто-нибудь еще знает способ сделать это без использования win32com?

1 Ответ

0 голосов
/ 03 мая 2019

Я понял это. Раньше я не осознавал, что вы можете использовать win32com и для записи в Excel.

import win32com.client as w3c

ex_file = w3c.DispatchEx('Excel.Application')
wb = ex_file.Workbooks.Add()
ws = wb.Worksheets.Add()
ws.Name = 'Test'
ws.Range('A1:A1') = <function>
wb.RefreshAll()
cell_val = ws.Range('A1:A1').value
print(cell_val)
wb.SaveAs(<file name.xlsx>)
ex_file.Quit()
...