openpyxl-有没有办法获得实际价值而不是公式

时间:2019-08-30 16:16:53

标签: python openpyxl

有没有一种方法可以获取实际值,而不是使用openpyxl库打印出的单元格公式?

根据stackoverflow我了解了很多,openpyxl库没有提供此选项,这很不好。 我在这里找到的唯一解决方案是手动打开excel文件并将公式另存为硬编码值。 我正在尝试使流程自动化,并且不想手动执行任何操作。

import openpyxl

template = openpyxl.load_workbook('import_spendesk_datev.xlsx') #Add file name
temp_sheet = template['Import']


print(temp_sheet.cell(row=2,column=13).internal_value)

我希望我可以打印出单元格的实际值,而不是公式。

非常感谢您的帮助。也许是另一个用于操纵excel的python库提供了此功能?

1 个答案:

答案 0 :(得分:1)

您可以尝试xlrd

我在使用公式RANDBETWEEN的excel工作簿中有一个值: enter image description here

获取值的代码:

import xlrd
from xlrd import open_workbook, cellname

book = open_workbook(r'path_to_excel\test.xlsx')
sheet = book.sheet_by_name("Sheet1")
print(sheet.cell(0,0).value)
65.0