使用xlwings包,用Range对象的FillDown方法可以实现公式自动向下填充。代码如下所示:
code.python
import xlwings as xw #导入xlwings
import os #导入os
root = os.getcwd() #获取当前路径
#创建Excel应用窗口,可见,不添加工作簿
app=xw.App(visible=True, add_book=False)
#打开数据文件,可写
bk=app.books.open(fullname=root+r'\07 公式自动填充.xlsx',read_only=False)
sht=bk.api.Sheets(1) #获取工作表
#添加公式
sht.Range('C1').Formula='=$A1+$B1'
#向下填充公式
sht.Range('C1:C5').FillDown()
bk.save() #保存工作簿
bk.close() #关闭工作簿
app.kill() #关闭应用
在脚本窗口中选择Run→Run Module命令,运行脚本,结果如图3-2所示。使用Range对象的FillLeft方法、FillRight方法和FillUp方法可以实现公式自动向左、向右和向上填充。
图3-2 公式向下填充