Loading

Python操作Excel神器-openpyxl之写入

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)


posted @ 2020-05-07 15:21  x1you  阅读(1161)  评论(0编辑  收藏  举报