一、写入公式:

openpyxl在单元格中写入公式非常简单,就像写入普通文本一样,例如:

excel_formula = "=SUM(A1:A10)"

work_sheet.cell(row=2, column=3, value=excel_formula)

甚至是写入vlookup这样复杂的公式,那也没问题,例如:

excel_formula = "=VLOOKUP(B3,'2021-04-16'!$C$3:$F$12,4,FALSE)"

work_sheet.cell(row=2, column=3, value=excel_formula)

 

二、读取公式:

如果使用load_workbook()方法在无参数的情况下打开一个Excel文件,并读取某单元格的值;如果这个单元格本身的内容是公式,那么读取到的就是公式;如果这个单元格本身的内容是一个值,那么读取到的就是一个值。例如,单元“B2”的内容是“=SUM(A1:A10)”,那么读取这个单元格,读出来的内容就是:“=SUM(A1:A10)”。

work_book = openpyxl.load_workbook('test.xlsx')

work_sheet = work_book.get_sheet_by_name('Sheet1')

# 向单元格写入公式

work_sheet.cell(row=2, column=2, value="=SUM(A1:A10)")

# 保存

work_book.save('test.xlsx')

# 读取单元格的内容

cell_value = work_sheet.cell(row=2, column=2).value

print(cell_value)

执行打印的结果,就是:“=SUM(A1:A10)”

 

三、读取公式计算后产生的数值

必须使用load_workbook()方法的data_only=True参数,例如:

work_book = openpyxl.load_workbook('test.xlsx', data_only=True)

这时,再去读取带公式的单元格,读取的结果就是公式计算的结果了。

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐