我们在将处理好的数据写入excel多张sheet表格内时,如果表格内已经存在此sheet,要将sheet删除才能进行新建sheet。
import xlwings as xw def deleterepeatsheet(open_path,sheetname_add): #open_path为要打开的excel路径,sheetname_add要添加的sheet名 app = xw.App(visible=False, add_book=False) # 此处True和False的第一个字母应该为大写 wb = xw.Book(open_path) # 如果工作薄中有相同sheet,则删除 namelist = [] # 保存sheet名在namelist列表中 sheet_num = wb.sheets.count for i in range(0, sheet_num): namelist.append(wb.sheets[i].name)#收集现有的所有sheet名 for i in range(0, sheet_num): if namelist[i] == sheetname_add: # namelist[i]使用索引值引用".xlsx"文件的Sheet.sheetname_add是前面已经处理过的输入年月日,也是作为自动生成sheet的名 wb.sheets[i].delete() # 删除工作表 else: pass