본문 바로가기
Python/xlwings

xlwings RuntimeError: Excel process already running 오류 해결하기

by PySun 2024. 12. 14.
반응형

소개

xlwings를 사용할 때 종종 'RuntimeError: Excel process already running' 오류가 발생하는 경우가 있습니다. 이 오류는 xlwings가 Excel 프로세스에 연결하려고 시도할 때 이미 실행 중인 Excel 인스턴스가 존재할 때 발생합니다. 이 블로그 글에서는 이 오류의 원인과 해결 방법에 대해 알아보겠습니다.

에러 발생 예시 코드

먼저, 'RuntimeError: Excel process already running' 오류가 발생할 수 있는 간단한 예시 코드를 살펴봅시다.

import xlwings as xw

# 새로운 Excel 워크북을 엽니다
wb = xw.Book()

# 첫 번째 시트에 엑세스
sheet = wb.sheets[0]
print(sheet.name)

에러 해결 방법

1. Excel 프로세스 종료

가장 일반적인 해결 방법은 작업 관리자(Task Manager)에서 실행 중인 Excel 프로세스를 종료하는 것입니다. Excel이 이미 열려 있다면, 닫고 다시 시도해 보세요.

2. Excel 인스턴스 확인 및 연결

xlwings는 하나의 Excel 인스턴스에만 연결할 수 있습니다. 이미 연결된 Excel 인스턴스가 없거나 연결을 해제하고 싶다면, 다음 코드로 인스턴스를 확인해 볼 수 있습니다.

import xlwings as xw

# 현재 Excel 프로세스가 존재하는지 확인
if xw.apps:
    print("실행 중인 Excel 인스턴스가 있습니다.")
else:
    print("Excel 인스턴스가 실행되고 있지 않습니다.")

3. 새로운 인스턴스 생성

만약 기존 Excel 프로세스와의 연결 문제가 지속된다면, 새로운 Excel 인스턴스를 생성할 수 있습니다. 우선 기존의 엑셀 앱을 종료하지 않고, 아래 코드를 사용해보세요.

import xlwings as xw

# 새 Excel 인스턴스 생성
app = xw.App(visible=True)
wb = app.books.add()

# 시트에 접근
sheet = wb.sheets[0]
print(sheet.name)

마무리

이 블로그 글에서는 xlwings에서 발생하는 'RuntimeError: Excel process already running' 오류에 대한 간단한 해결 방법을 살펴보았습니다. 작업 관리자를 통해 Excel 프로세스를 종료하거나, 현재 실행 중인 Excel 인스턴스를 확인하고 연결하는 방법을 통해 이 문제를 해결할 수 있습니다. xlwings를 사용할 때 이러한 오류를 피하려면 항상 한 번에 하나의 Excel 인스턴스에만 연결하는 것을 기억하세요!

반응형