openpyxl 对工作表的删除/创建

背景,表格创建时,直接把表格清空,防止历史数据进行干扰新的数据写入


import openpyxl


# 保存Excel
def saveExcel(codes):
    sheet_method(['Sheet2'])
    data = openpyxl.load_workbook("./source_file/123.xlsx")

    table = data["Sheet2"]
    table["A1"] = '单号'
    table["B1"] = '原始消息体'
    table["C1"] = '转换后消息体'
    table["D1"] = '返回消息体'
    table["E1"] = '创建时间'

    for num, code in codes.items():  # 这里的code是字典的key
        # 先填充,最后在进行保存
        table = data["Sheet2"]
        table["A" + str(num)] = 'code'
        table["B" + str(num)] = 'code'
        table["C" + str(num)] = 'code'
        table["D" + str(num)] = 'code'
        table["E" + str(num)] = 'code'

    data.close()
    data.save("./source_file/123.xlsx")

# 这里可以传入多个表格名称
def sheet_method(add_sheets=[]):
    wk = openpyxl.load_workbook("./source_file/123.xlsx")
    index = 0
    for add_sheet in add_sheets:
        if add_sheet in wk.sheetnames: # 表格如果已经存在,那就删除,在重新创建,清空历史数据
            del wk['Sheet2']
        index += 1
        # add new sheet
        wk.create_sheet(title=add_sheet, index=index)
    wk.close()
    wk.save("./source_file/123.xlsx")

if __name__ == "__main__":
    saveExcel({'2': ('A', 'B', 'C', 'D', 'E')})

posted @ 2022-06-24 20:51  darling331  阅读(729)  评论(0编辑  收藏  举报