假设一个名叫“模板”的excel表格里有四个sheet,名字分别是['平台', '制冷', '洗衣机', '空调']

用OpenPyXL处理Excel表格 - 向sheet读取、写入数据-LMLPHP

1、读取

from openpyxl import load_workbook

namelists=['平台', '制冷', '洗衣机', '空调']#4个sheet的名字,也可以通过pd来获取

wb = load_workbook("模板.xlsx")#使用openpyxl读取xlsx文件,创建workbook

显示有多少张sheet

print(wb.sheetnames)
['平台', '制冷', '洗衣机', '空调']

读取sheet的单元格

ws=wb['平台']

ws.cell(row=1, column=3).value #C1单元格的值为“小微”
'小微'

读取多个sheet的单元格

for i in wb.sheetnames:
ws=wb[i]
ws.cell(row=1, column=3).value #遍历所有的sheet,读取每个sheet的C1单元格的值
print(ws.max_row) #表行数
print(ws.max_column) #表列数
16
19

2、写入数据到sheet的单元格,写完一定要保存,使用文件后要关闭

ws=wb['平台']

ws.cell(row=5, column=4).value="hello" #D5单元格写入hello

用OpenPyXL处理Excel表格 - 向sheet读取、写入数据-LMLPHP

for i in range(5,10):
for j in range(5,10):
ws.cell(row=i, column=j).value=1 #"E1:I9"单元格写入数字1 wb.save("1.xlsx")#保存 wb.close()#关闭

用OpenPyXL处理Excel表格 - 向sheet读取、写入数据-LMLPHP

写入多个sheet的单元格

wb = load_workbook("模板.xlsx")

for i in wb.sheetnames:
ws=wb[i]
ws.cell(row=1, column=3).value=1 #遍历所有的sheet,把每个sheet的C1单元格的值改为1 wb.save("1.xlsx")#保存 wb.close()#关闭
05-16 19:40