Python|openpyxl公式的写入及读取

Sommaire de cet article :
  1. 写入
  2. 读取
  3. 总结

最近excel研究的比较多,先是字体大小,都是单元格宽度,接着链接的保存及读取,这不又要操作公式了,一并记录下来.

写入

写入比较简单,以SUM这个公式举例了

#/usr/bin/python
#-*- coding: utf-8 -*-
import openpyxl
import os
#将Excel文件放在python同级目录
dir_path    = os.path.dirname(os.path.realpath(__file__))
test_xlsx_w = os.path.join(dir_path,f'''test_write.xlsx''')

wb = openpyxl.Workbook()
sheet = wb.active
sheet.cell(1, 1).value = 1
sheet.cell(2, 1).value = 2
sheet.cell(3, 1).value = '=sum(A1:A2)'

#保存文件
wb.save(test_xlsx_w)

读取

读取要的文件名,是上面写入的那个文件,开工

#/usr/bin/python
#-*- coding: utf-8 -*-
import openpyxl
import os
#将Excel文件放在python同级目录
dir_path  = os.path.dirname(os.path.realpath(__file__))
test_xlsx = os.path.join(dir_path,f'''test_write.xlsx''')
wb = openpyxl.load_workbook(test_xlsx)
sheet = wb.active
print(sheet.cell(3, 1).value)

运行

what?
为啥把公式给我输出了,我需要计算后结果啊?
要实现自动公式计算,需要要读取时添加data_only=True参数,以便只读取数据.

wb = openpyxl.load_workbook(test_xlsx,data_only=True)

不过即使添加了这个参数,读取时得到的结果却为None.

这种情况,将之前的Excel打开,再保存一下就可以了.不知道是不是因为openpyxl生成的xlsx的格式有问题,还是什么原因

总结

开头也说了,写过好几篇操作Excel的文章了,罗列一下:
[Python|openpyxl设置单元格样式]()
[Python|openpyxl单元格设置超链接及读取]()
其实直接点击专辑也可以


相关博文

About rainbird

IOS攻城狮
This entry was posted in Python and tagged , , , , , , , , . Bookmark the permalink.

发表评论