Python/xlwings

xlwings RuntimeError: Invalid workbook reference 오류 해결하기

PySun 2024. 11. 25. 22:49
반응형

소개

xlwings를 사용하다 보면 'RuntimeError: Invalid workbook reference' 오류에 직면할 수 있습니다. 이 오류는 주로 xlwings가 엑셀 파일에 올바르게 연결되지 않았을 때 발생합니다. 이 블로그 글에서는 이러한 문제의 원인 및 해결 방법에 대해 알아보겠습니다.

에러 발생 예시 코드

다음은 'RuntimeError: Invalid workbook reference' 오류가 발생할 수 있는 간단한 예시 코드입니다.

import xlwings as xw

# 엑셀 앱 시작
app = xw.App(visible=True)

# 워크북 열기
workbook = xw.Book('non_existing_file.xlsx')

# 첫 번째 시트에 접근
sheet = workbook.sheets[0]
print(sheet.name)

에러 해결 방법

1. 올바른 파일 경로 확인하기

가장 흔한 경우는 파일 경로가 잘못되었거나, 파일이 존재하지 않는 경우입니다. 정확한 경로를 확인해야 합니다.

import xlwings as xw

# 엑셀 앱 시작
app = xw.App(visible=True)

# 올바른 파일 경로 사용하기
workbook = xw.Book('C:/path/to/your/file.xlsx')  # 파일 경로 수정
sheet = workbook.sheets[0]
print(sheet.name)

2. 파일이 열려 있는지 확인하기

엑셀 파일이 이미 열려 있거나, 다른 프로세스에 의해 사용되고 있을 수 있습니다. 파일이 열려 있는지, 이미 존재하는 워크북인지 확인해 보세요.

import xlwings as xw

# 엑셀 앱 시작
app = xw.App(visible=True)

# 열려 있는 워크북 확인
try:
    workbook = xw.Book('ExistingWorkbook.xlsx')
    print("워크북이 성공적으로 열렸습니다.")
except RuntimeError:
    print("워크북이 열려 있지 않거나, 파일 이름이 잘못되었습니다.")

3. xlwings로 엑셀 파일 생성하기

한편, 새 엑셀 파일을 만들고 싶다면 아래와 같은 방법으로 새로운 워크북을 생성할 수 있습니다.

import xlwings as xw

# 엑셀 앱 시작
app = xw.App(visible=True)

# 새로운 워크북 생성
workbook = xw.Book()  # 새로운 워크북 생성
sheet = workbook.sheets[0]
sheet.name = '새로운 시트'
print(f"시트 이름: {sheet.name}")

마무리

이번 블로그 글에서는 xlwings에서 발생할 수 있는 'RuntimeError: Invalid workbook reference' 오류에 대해 살펴보았습니다. 파일 경로를 정확히 확인하고, 파일이 이미 열려 있는지 체크하는 방법을 통해 이러한 문제를 해결할 수 있습니다. xlwings를 사용하는 동안 적절한 오류 처리 및 라이브러리 문서를 참고하여 더욱 효과적으로 엑셀 작업을 진행하시길 바랍니다.

반응형