使用openpyxl在Excel中写入公式,读取公式,或读取公式生成的数值。

一、写入公式:

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)

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

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值