from openpyxl import load_workbook
class HandleExcel:
def __init__(self, filename, sheetname=None):
self.filename = filename
self.sheetname = sheetname
def write_data(self, row, column, data):
"""
写操作
:param row: 指定在某一行写
:param column: 指定在某一列写
:param data: 待写入的数据
:return:
"""
# 将数据写入到excel中,不能与读取操作公用一个Workbook对象
# 如果使用同一个Workbook对象,只能将最后一次写入成功,会出现意想不到的结果
wb = load_workbook(self.filename)
if self.sheetname is None:
ws = wb.active
else:
ws = wb[self.sheetname]
# 第一种写入方式:
one_cell = ws.cell(row, column)
one_cell.value = data
# 第二种写入方式:
ws.cell(row, column, value=data)
#写入后需要使用save保存
# a.Workbook对象.save("excel文件名")
# b.如果文件名与源文件不相同,那么会将源文件进行拷贝(即另存为操作)
# c.PermissionError: [Errno 13] Permission denied: 'testcase.xlsx'
# 对exel文件修改之后,要保存,一定要将excel文件关闭
wb.save(self.filename)