콘솔워크

win32com.client.Dispatch("Excel.Application") 시트복사 및 시트명 변경 본문

프로그래밍/python

win32com.client.Dispatch("Excel.Application") 시트복사 및 시트명 변경

콘솔워크 2022. 9. 5. 09:48
반응형
def copy_stock_sheet(upload_file, download_file):

    try:
        excel = win32com.client.Dispatch("Excel.Application")
        excel.Visible = False

        wb1 = excel.Workbooks.Open(upload_file)
        wb2 = excel.Workbooks.Open(download_file)
        # ws1 = wb1.ActiveSheet

        # ws1.Copy(After=wb2.Worksheets(f"배선기구"))
        wb2.Worksheets("Sheet1").Copy(After=wb1.Worksheets("배선기구"))
        # wb2.Save()
        wb1.Worksheets("Sheet1").Name = "재고현황"
        wb1.Save()
        # wb1.SaveAs(upload_file, FileFormat=51)

    except Exception as e:
        print(e)

    finally:
        excel.Quit()

 

 

wb2.Worksheets("Sheet1").Copy(After=wb1.Worksheets("배선기구"))

위의 코드는 upload_file 경로에 download_file에 있는 Sheet1 시트를 붙여넣는다. 붙여넣을 때는 "배선기구"라는 시트 다음에 붙여넣는다.

 

wb1.Worksheets("Sheet1").Name = "재고현황"

upload_file에 복사하고나서 해당 시트명은 "Sheet1"에서 "재고현황"으로 변경한다.

반응형