读取Excele
#0、使用办公软件创建一个XLSX格式的文件,不能使用py来创建
openpyxl只能处理xlsx格式的文件
#1、导入load_workbook,对已经已经存在的execl进行操作
from openpyxl import load_workbook
|
#2、实例化
#load_workbook('文件名称.xlsx')加载exel对象
wb = load_workbook("ExcelCase.xlsx")
|
# 3、实例化worksheet表单对象
#默认读取第一个表单
#4、单元格访问,遍历单元格
headers_list = [] #存放表头
TestCase = [] # 存放用例字典
for row in range(1, ws.max_row + 1):#最大行
row_dict = {} # 存放每一行的用例数据,字典是key:value键值对的形式存在的
for column in range(1, ws.max_column + 1):#最大列
a = ws.cell(row, column).value #把每个单元格的值取出来
if row == 1:#当行等于1的时候就是表头
headers_list.append(a)#把表头添加到列表中
else:
key = headers_list[column-1] #创建一个key字段,获取列表的元素,列表是位置元素,从0开始
row_dict[key] = a # 给字典里面的key赋值
if row != 1:
TestCase.append(row_dict) #把每一行的用例存放在一个列表中
|
#5、保存数据
写Excele
# 封装的写Eexecl的方法
def write_execl(self,row,colum,data):
'''
:param row: 行
:param colum: 列
:param data: 值
:return:
'''
# 实例化load_workbook
wb = load_workbook(self.filename)
# 实例化worksheet表单对象
ws = wb[self.sheetname]
one_cell = ws.cell(row,colum)
one_cell.value = data
wb.save(self.filename)#保存
|
改变Sheet标签按钮颜色
ws.sheet_properties.tabColor = "1072BA"
|
获取最大行,最大列
# 获得最大列和最大行
print(sheet.max_row)
print(sheet.max_column)
|
获取每一行,每一列
# 因为按行,所以返回A1, B1, C1这样的顺序
for row in sheet.rows:
for cell in row:
print(cell.value)
# A1, A2, A3这样的顺序
for column in sheet.columns:
for cell in column:
print(cell.value)
|
设置单元格风格
① 需要导入的类
from openpyxl.styles import Font, colors, Alignment
|
② 字体
- 下面的代码指定了
等线24号
,加粗斜体
,字体颜色红色
。直接使用cell的font
属性,将Font对象赋值给它。
- 也是直接使用cell的属性
aligment
,这里指定垂直居中和水平居中。除了center,还可以使用right
、left
等等参数
bold_itatic_24_font = Font(name='等线', size=24, italic=True, color=colors.RED, bold=True)
sheet['A1'].font = bold_itatic_24_font
|
③ 对齐方式
# 设置B1中的数据垂直居中和水平居中
sheet['B1'].alignment = Alignment(horizontal='center', vertical='center')
|
④ 设置行高和列宽
# 第2行行高
sheet.row_dimensions[2].height = 40
# C列列宽
sheet.column_dimensions['C'].width = 30
|