



此案例主要通过根据指定的行号获取该行的所有单元格,从而实现在工作表中按行对单元格的数据求和。当运行此案例的Python代码(A037.py文件)之后,将按行计算“收入表.xlsx”文件的收入表的各季度的收入合计,代码运行前后的效果分别如图036-1和图036-2所示。
图 036-1
A037.py文件的Python代码如下:
import openpyxl
myBook=openpyxl.load_workbook('收入表.xlsx')
mySheet=myBook.active
#对第5行的B、C、D列(即2、3、4列)单元格的数据求和,并在合计列的单元格中写入合计
mySheet['E5']=sum([myCell.value for myCell in mySheet[5][1:4]])
mySheet['E6']=sum([myCell.value for myCell in mySheet[6][1:4]])
mySheet['E7']=sum([myCell.value for myCell in mySheet[7][1:4]])
mySheet['E8']=sum([myCell.value for myCell in mySheet[8][1:4]])
myBook.save('结果表-收入表.xlsx')
图 036-2
在上面这段代码中,mySheet['E5']=sum([myCell.value for myCell in mySheet[5][1:4]])表示对收入表(mySheet)第5行的B、C、D列单元格的数据求和,mySheet[5]表示收入表(mySheet)第5行的所有单元格,mySheet[5][1:4]表示以(列表的)切片方式获取收入表(mySheet)第5行的B、C、D列的单元格。myCell.value表示单元格(myCell)的值(数据)。
此案例的源文件是MyCode\A037\A037.py。