# coding=utf-8
from openpyxl import load_workbook
class Excel(object):
def __init__(self, path, sheet_name="Sheet1"):
self.path = path
self.wb = load_workbook(self.path) # 获取工作薄
self.sheet = self.wb[sheet_name] # 获取工作表
# 获取总行数、总列数
self.nrow = self.sheet.max_row
self.ncol = self.sheet.max_column
def read_excel(self):
data = [] # 定义一个空列表
for row in range(2, self.nrow + 1): # 取.行数
if not self.sheet[row][1]:
break
case = {} # 定义一个空字典
for col in range(self.ncol): # 取列数
key = self.sheet[1][col].value # 把该列第一行做键
if not self.sheet[row][col].value: # 若值为空
value = "" # 将值转为空串
else:
value = self.sheet[row][col].value # 不为空则将值传入字典
case[key] = str(value)
data.append(case)
self.wb.close()
return data
def write_excel(self, name, row, value):
"""
根据用例标题和用例ID写入excel
:param name: 第一列名称
:param row: 第几行
:param value: 要写入的值
:return: None
"""
for col in range(self.ncol):
if self.sheet[1][col].value == name:
self.sheet.cell(int(row) + 1, int(col) + 1, value)
self.wb.save(self.path)
self.wb.close()
|