通过 openpyxl 使用公式从 Excel 单元格获取值

Ker*_*pol 2 excel python-3.x openpyxl

我需要使用公式从 Excel 单元格获取值,但我不需要公式。我需要一个,但不需要单元格中的公式。我该怎么做?我尝试只使用

\n
working_sheet.cell(row=row_number, column=column_number+1).value\n
Run Code Online (Sandbox Code Playgroud)\n

并扩展一个列表。但我得到的清单就像

\n
[\n    \'2020\',\n    \'\xd0\xbe\xd1\x81\xd1\x82\xd0\xb0\xd0\xbb\xd1\x8c\xd0\xbd\xd1\x8b\xd0\xb5 \xd0\xb3\xd1\x80\xd1\x83\xd0\xb7\xd1\x8b\',\n    \'\xd0\x9a\xd0\x9e\xd0\x9b\xd0\xa3\xd0\x9c\xd0\x91\xd0\x98\xd0\xaf\',\n    \'\xd0\x9d\xd0\x9e\xd0\x92.\xd0\x9f\xd0\x9e\xd0\xa0\xd0\xa2-\xd0\xad\xd0\x9a\xd0\xa1\',\n    \'\xd0\x9d\xd0\x9e\xd0\x92.\xd0\x9f\xd0\x9e\xd0\xa0\xd0\xa2-\xd0\xad\xd0\x9a\xd0\xa1\',\n    \'\xd0\x9d\xd0\x9e\xd0\x92.\xd0\x9f\xd0\x9e\xd0\xa0\xd0\xa2-\xd0\xad\xd0\x9a\xd0\xa1\',\n    \'\xd0\x9d\xd0\x9e\xd0\x92.\xd0\x9f\xd0\x9e\xd0\xa0\xd0\xa2-\xd0\xad\xd0\x9a\xd0\xa1\',\n    \'\xd0\x9c\xd0\x95\xd0\x9a\xd0\xa1\xd0\x98\xd0\x9a\xd0\x90\',\n    \'\xd0\xbf\xd0\xbe\xd0\xb2\xd0\xb0\xd0\xb3\xd0\xbe\xd0\xbd\xd0\xbd\xd0\xb0\xd1\x8f\',\n    \'\xd0\xbf\xd0\xbe\xd1\x80\xd0\xbe\xd0\xb6\xd0\xbd\xd0\xb8\xd0\xb5\',\n    \'0\',\n    \'0\',\n    \'=VLOOKUP(C28038,$AB$2:$AC$1048576,2,FALSE)\', \n    \'=VLOOKUP(H28038,$AB$2:$AC$1048576,2,FALSE)\',\n    \'=VLOOKUP(E28038,$X$2:$Y$1048576,2,FALSE)\',\n    \'=VLOOKUP(F28038,$X$2:$Y$1048576,2,FALSE)\'\n]\n
Run Code Online (Sandbox Code Playgroud)\n

所以我不需要像这样的值=VLOOKUP...

\n

我能做些什么?

\n

Tho*_*ler 5

data_only=True确保加载工作簿时使用:

import openpyxl

workbook = openpyxl.load_workbook(filename, data_only=True)
worksheet = workbook.active  # active worksheet

print(worksheet.cell(column=10, row=5).value)
Run Code Online (Sandbox Code Playgroud)

请注意:Excel 将评估值存储在文件中。也就是说,这些值仅在之前使用 Excel(或可能使用类似的应用程序)打开文件时才可用。