天天看點

Python 一個函數快速複制sheet工作表到另一個工作簿Python 一鍵複制sheet工作表到另一個工作簿

Python 一鍵複制sheet工作表到另一個工作簿

源碼

from openpyxl import Workbook,load_workbook

def copy_sheet(src_xlsx,ssheetname,dst_xlsx,nsheetname=None):
    if nsheetname==None:
        nsheetname=ssheetname
    try:
        sw=load_workbook(f'{src_xlsx}')
    except KeyError:
        raise KeyError('舊工作簿不存在 The old xlsx is not exists')
    try:
        dw=load_workbook(f'{dst_xlsx}')
    except FileNotFoundError:
        dw=Workbook()
    try:
        sheet = dw[f'{nsheetname}']
    except KeyError:
        sheet=dw.create_sheet(f'{nsheetname}')
    try:
        src_sheet=sw[f'{ssheetname}']
    except KeyError:
        raise KeyError('源工作簿檔案不存在該工作簿 The sheet does not exist in the source file')
    for row in src_sheet.iter_rows():
        print(row)
        row_list=[]
        for cell in row:
            row_list.append(cell.value)
        print(row_list)
        sheet.append(row_list)
    dw.save(f'{dst_xlsx}')

           

參數

src_xlsx 源xlsx工作簿檔案(相對/絕對目錄及檔案名)包含xlsx字尾 不存在則報錯 字元串類型

ssheetname 源工作表名 不存在則報錯 字元串類型

nsheetname 複制後的工作表名 不填寫預設與原名相同 字元串類型

dst_xlsx 目标xlsx工作簿檔案 如不存在則建立