一 工作簿对象
- 获取工作簿对象
from openpyxl import load_workbook,Workbook
#打开已经存在的excel
wb = load_workbook(filename)
wb.save(filename)
#如果参数filename不变,即保存在原有路径,相当于修改原文件;若参数filename变化,即保存在新的路径,相当于另存为新的文件。
#新建excel
new_wb = Workbook()
new_wb.save(path)
- 操作工作簿对象
wb.save(path)
二 工作表对象
- 获取工作表对象
ws = wb.active
ws = wb['表名']
- 操作工作表对象
(1)获取单行或单列
在openpyxl中,我们可以通过工作表对象[行数]或工作表对象[‘列名’]的方式获取到一个元组,这个元组中包含了指定行或列中的所有数据。
for cell in ws[1]:
#第一行的所有数据
for cell in ws['D']:
#第四列的所有数据
(2)获取多行多列数据
for row in ws.iter_rows(min_row=,max_row=,min_col=,max_col=,values_only=True/False):
如果你仔细观察输出结果的话,你会发现其最后一行为(None, None),这是因为iter_rows()方法规定,如果指定的行中没有数据,就会返回一个空的元组。
第12行为空行,没有任何数据,所以返回了空的元组。
(3)添加一行数据
info_list = ['S1911', '萧爵瑟', 3000, '内容']
info_tuple = ('S1912', '吴琐薇', 5000, '销售')
active_ws.append(info_list)
active_ws.append(info_tuple)
三 单元格对象
- 获取单元格对象
(1)通过for row in 工作表对象.iter_rows()来获取指定范围的行
当参数values_only为默认的False时,我们得到的row就是一个个由单元格对象组成的元组,可以通过索引或者for循环遍历的方式来获取单独的单元格对象。
(2)for cell in 工作表对象[行数]
for cell in 工作表对象[‘列名’]
for cell in ws[1]:
for cell in ws['D']:
(3)==工作表对象[‘单元格坐标’]==来获取具体的单元格对象
ws['A1']
- 操作单元格对象
单元格对象的属性
(1)value属性
# 获取单元格的值
单元格对象.value
# 给单元格对象赋值
单元格对象.value = 值
(2)fill属性
单元格对象.fill =
(3)border属性
单元格对象.border
(4)对齐属性
单元格对象.alignment =