一:excel基本概念
1: 一个excel表格文件包含一个工作簿(workbook),一个wb可以包含多个工作表(worksheets)
用户正在查看的表定义为激活的工作表(active sheet)。每个工作表都有行和列。行以数字1开始,列以字母A开始,
一个工作表由单元格(cell)组成,cell只存储两种数据类型,数字和字符串(除了纯数字,其它均为字符串类型)
2: 在excel中设计测试用例的时候,当代码里的值为None的时候,对应cell中不需要输入任何值,空读取出来就是None
二: openpyxl
对于openpyxl来说:
一个excel文件为一个workbook对象,一个sheet为一个worksheet对象,一个单元格为一个cell对象
1:三大属性
1:WorkBook 属性
sheetnames:返回所有WorkSheets的名字列表,以list形式存储
worksheets:返回所有WorkSheet的列表,以list形式存储
avtive:返回当前默人选中的WorkSheet
2:WorkSheet属性
3:cell属性
2:常规方法,操作
1:准备测试数据,用load_workbook模块,打开测试数据文件(需要传入数据文件路径),生成workbook对象(wb)
import os
from openpyxl import load_workbook
file_path = os.path.join(os.path.dirname(os.path.abspath(__file__)), "login_case.xlsx")
wb = load_workbook(file_path) # 看源码,需要传入要加载数据的文件的绝对路径
sh = wb["login"] # 根据表单名称,选择sheet(表单)
2:在表单中,获取单元格的数据
单元格对象:
cel = sh.cell(2, 2) # excel中的 下标是从1开始的
print(cel.value) # 获取单元格的值
sh.cell(row, colum).value = 新的值 # 修改单元格的数据
3,获取当前表单(sheet)中总行数和总列数,在excel中可能会不小心写了空格,如果想要检查是否有空格,可以直接打印最大行数和列数,来进行检查!!
sh.max_row # 总行数
sh.max_colum # 总列数
4,按行读取数据
wb = load_workbook(file_path) # 看源码,需要传入要加载数据的文件的绝对路径
sh &