Warning: ftp_fget() expects parameter 1 to be resource, null given in /www/wwwroot/new.weijing.co/wp-admin/includes/class-wp-filesystem-ftpext.php on line 146

使用 openpyxl 为 Excel 单元格设置公式

Excel 单元格公式,以一个等号开始。通过公式,我们可以获取其它单元格的数据,并得出计算结果。

为单元格设置公式的方式与设置普通值是一样的。

import openpyxl
wb = openpyxl.Workbook()
sheet = wb.active
sheet[\'A1\'] = 1
sheet[\'A2\'] = 2
sheet[\'A3\'] = \'=SUM(A1:A2)\'
print(sheet[\'A3\'].value)
wb.save(\'formula.xlsx\')

运行结果:

=SUM(A1:A2)

可以看到,我们可以像读取普通值一样,读取单元格中的公式。
有时候,我们希望直接读取计算结果。那么可以在 load_workbook() 方法中,将其 data_only 参数设置为 True,即只读模式。

wb_data_only=openpyxl.load_workbook(\'formula.xlsx\',data_only=True)
sheet = wb_data_only.active
print(sheet[\'A3\'].value)

运行结果:

3

注意: 前一个示例保存的 formula.xlsx,必须用 Excel 打开并保存后,才能在只读模式下,正确读取公式的计算结果。否则,读取出来的值会是 None。切记!


Excel 的公式虽然也可以编程,但对于复杂的任务,编写出来的代码杂糅在一起,很难阅读与维护。相对来说,使用 Python 代码来处理复杂的 Excel 计算任务

发表评论

您的电子邮箱地址不会被公开。

Shopping Cart